X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2FCMakeLists.txt;h=7f73339dbb04570cc800aa27bd45efa6389aab2c;hb=refs%2Ftags%2Fmarlin_12.90.1;hp=5c0ef07e6683587c23ea0f055e8c272113e0ecbc;hpb=d2d2620bbb8f0aad0181e67e9f6affc3d6cb4a51;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/CMakeLists.txt b/low-can-binding/CMakeLists.txt index 5c0ef07e..7f73339d 100644 --- a/low-can-binding/CMakeLists.txt +++ b/low-can-binding/CMakeLists.txt @@ -21,20 +21,34 @@ PROJECT_TARGET_ADD(low-can) - # Define project Targets - set (SOURCES - #binding/${TARGET_NAME}-hat.cpp - 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-message-set.cpp - can/can-message-definition.cpp - can/message/message.cpp - can/message/can-message.cpp - can/can-signals.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 diagnostic/diagnostic-message.cpp diagnostic/diagnostic-manager.cpp diagnostic/active-diagnostic-request.cpp @@ -44,18 +58,34 @@ PROJECT_TARGET_ADD(low-can) utils/socketcan.cpp #utils/socketcan-raw.cpp utils/socketcan-bcm.cpp + utils/converter.cpp utils/config-parser.cpp - binding/application-generated.cpp - ) + ) - if(WITH_FEATURE_J1939) - set(SOURCES_J1939 - can/message/j1939-message.cpp - utils/socketcan-j1939.cpp + add_library(${TARGET_NAME} SHARED ${SOURCES_LIB} ${SOURCES_J1939} ${SOURCES_ISOTP}) + + # Binder exposes a unique public entry point + SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES + LABELS "LIBRARY" + IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/lib${TARGET_NAME}.so + ) + + TARGET_LINK_LIBRARIES(${TARGET_NAME} + ini-config + openxc-message-format + uds-c + isotp-c + bitfield-c + ${link_libraries}) + +PROJECT_TARGET_ADD(low-can-binding) + + # Define project Targets + set (SOURCES + binding/low-can-cb.cpp ) - endif() - add_library(${TARGET_NAME} MODULE ${SOURCES} ${SOURCES_J1939}) + 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 @@ -63,16 +93,16 @@ PROJECT_TARGET_ADD(low-can) PREFIX "afb-" LABELS "BINDINGV3" LINK_FLAGS ${BINDINGS_LINK_FLAG} + INSTALL_RPATH "$ORIGIN" OUTPUT_NAME ${TARGET_NAME} ) # Library dependencies (include updates automatically) TARGET_LINK_LIBRARIES(${TARGET_NAME} - ini-config + low-can openxc-message-format uds-c isotp-c bitfield-c - afb-helpers + appcontroller ${link_libraries}) -