From d82e1b8ecabb9eaa1f7f76ca0e8c97f63719f13a Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Wed, 8 Jan 2020 10:44:32 +0100 Subject: cmake: cleaning and set RPATH for binding Cleaning and set RPATH to find the low-can library Change-Id: I6e68a61bbeca385433028a716b9ac6d5e7f28769 Signed-off-by: Romain Forlot --- conf.d/cmake/config.cmake | 2 ++ low-can-binding/CMakeLists.txt | 57 +++++++++++++++++++++------------ plugins/CMakeLists.txt | 72 ++++++++++++++---------------------------- 3 files changed, 61 insertions(+), 70 deletions(-) diff --git a/conf.d/cmake/config.cmake b/conf.d/cmake/config.cmake index d7d5f43e..b1dec8c3 100644 --- a/conf.d/cmake/config.cmake +++ b/conf.d/cmake/config.cmake @@ -29,6 +29,8 @@ set(PROJECT_LICENSE "APL2.0") set(PROJECT_LANGUAGES "C;CXX") set(API_NAME "low-can") +set(INSTALL_RPATH "$ORIGIN") + # Where are stored the project configuration files # relative to the root project directory set(PROJECT_CMAKE_CONF_DIR "conf.d") diff --git a/low-can-binding/CMakeLists.txt b/low-can-binding/CMakeLists.txt index fd13b427..bd304dc9 100644 --- a/low-can-binding/CMakeLists.txt +++ b/low-can-binding/CMakeLists.txt @@ -21,19 +21,34 @@ PROJECT_TARGET_ADD(low-can) - # Define project Targets - set (SOURCES - binding/${TARGET_NAME}-cb.cpp - binding/${TARGET_NAME}-subscription.cpp + if(WITH_FEATURE_ISOTP) + set(SOURCES_ISOTP + utils/socketcan-isotp.cpp + ) + endif() + + + if(WITH_FEATURE_J1939) + set(SOURCES_J1939 + can/message/j1939-message.cpp + utils/socketcan-j1939/socketcan-j1939.cpp + utils/socketcan-j1939/socketcan-j1939-data.cpp + utils/socketcan-j1939/socketcan-j1939-addressclaiming.cpp + ) + endif() + + set (SOURCES_LIB + binding/low-can-hat.cpp + binding/low-can-subscription.cpp binding/application.cpp can/can-bus.cpp + can/can-decoder.cpp + can/can-encoder.cpp can/message-set.cpp can/message-definition.cpp can/message/message.cpp can/message/can-message.cpp can/signals.cpp - can/can-decoder.cpp - can/can-encoder.cpp diagnostic/diagnostic-message.cpp diagnostic/diagnostic-manager.cpp diagnostic/active-diagnostic-request.cpp @@ -45,26 +60,26 @@ PROJECT_TARGET_ADD(low-can) utils/socketcan-bcm.cpp utils/config-parser.cpp utils/converter.cpp - ) + ) + add_library(${TARGET_NAME} SHARED ${SOURCES_LIB} ${SOURCES_J1939} ${SOURCES_ISOTP}) - if(WITH_FEATURE_ISOTP) - set(SOURCES_ISOTP - utils/socketcan-isotp.cpp - ) - endif() + TARGET_LINK_LIBRARIES(${TARGET_NAME} + ini-config + openxc-message-format + uds-c + isotp-c + bitfield-c + ${link_libraries}) +PROJECT_TARGET_ADD(low-can-binding) - if(WITH_FEATURE_J1939) - set(SOURCES_J1939 - can/message/j1939-message.cpp - utils/socketcan-j1939/socketcan-j1939.cpp - utils/socketcan-j1939/socketcan-j1939-data.cpp - utils/socketcan-j1939/socketcan-j1939-addressclaiming.cpp + # Define project Targets + set (SOURCES + binding/low-can-cb.cpp ) - endif() - add_library(${TARGET_NAME} MODULE ${SOURCES} ${SOURCES_J1939} ${SOURCES_ISOTP}) + add_library(${TARGET_NAME} MODULE ${SOURCES}) set(OPENAPI_DEF "binding/low-can-apidef" CACHE STRING "name and path to the JSON API definition without extension") # Binder exposes a unique public entry point @@ -77,6 +92,7 @@ PROJECT_TARGET_ADD(low-can) # Library dependencies (include updates automatically) TARGET_LINK_LIBRARIES(${TARGET_NAME} + low-can ini-config openxc-message-format uds-c @@ -84,4 +100,3 @@ PROJECT_TARGET_ADD(low-can) bitfield-c appcontroller ${link_libraries}) - diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt index 426689ef..b87f3244 100755 --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -16,54 +16,28 @@ # limitations under the License. ########################################################################### -#PROJECT_TARGET_ADD(agl-signals) - -# # Define targets -# ADD_LIBRARY(${TARGET_NAME} MODULE ${TARGET_NAME}.cpp) - -# # Alsa Plugin properties -# SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES -# LABELS "PLUGIN" -# PREFIX "" -# SUFFIX ".ctlso" -# OUTPUT_NAME ${TARGET_NAME} -# ) -# -# target_include_directories(${TARGET_NAME} -# PRIVATE "../low-can-binding") - -# # Library dependencies (include updates automatically) -# TARGET_LINK_LIBRARIES(${TARGET_NAME} -# ini-config -# openxc-message-format -# uds-c -# isotp-c -# bitfield-c -# afb-helpers -# ${link_libraries}) - PROJECT_TARGET_ADD(agl-signals) - # Define targets - ADD_LIBRARY(${TARGET_NAME} MODULE ${TARGET_NAME}.cpp) - - # Alsa Plugin properties - SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES - LABELS "PLUGIN" - PREFIX "" - SUFFIX ".ctlso" - OUTPUT_NAME ${TARGET_NAME} - ) - - target_include_directories(${TARGET_NAME} - PRIVATE "../low-can-binding") - - # Library dependencies (include updates automatically) - TARGET_LINK_LIBRARIES(${TARGET_NAME} - ini-config - openxc-message-format - uds-c - isotp-c - bitfield-c - afb-helpers - ${link_libraries}) + # Define targets + ADD_LIBRARY(${TARGET_NAME} MODULE ${TARGET_NAME}.cpp) + + # Alsa Plugin properties + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + LABELS "PLUGIN" + PREFIX "" + SUFFIX ".ctlso" + OUTPUT_NAME ${TARGET_NAME} + ) + + target_include_directories(${TARGET_NAME} + PRIVATE "../low-can-binding") + + # Library dependencies (include updates automatically) + TARGET_LINK_LIBRARIES(${TARGET_NAME} + low-can + openxc-message-format + uds-c + isotp-c + bitfield-c + afb-helpers + ${link_libraries}) -- cgit 1.2.3-korg