aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2020-01-08 10:44:32 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2020-01-09 15:53:58 +0100
commitd82e1b8ecabb9eaa1f7f76ca0e8c97f63719f13a (patch)
treeeee9cd6a0484cb3d0efa611b07e8f52e12d12fa1
parent77a19477d3cb63b5af519853489cc90ead0a111b (diff)
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 <romain.forlot@iot.bzh>
-rw-r--r--conf.d/cmake/config.cmake2
-rw-r--r--low-can-binding/CMakeLists.txt57
-rwxr-xr-xplugins/CMakeLists.txt72
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})