X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2FCMakeLists.txt;h=ce66a8c49e0822f2ad3e6150710696ce0997cd8f;hb=cc22c89b2362f14e18d8d8ef2b736800592cfd1a;hp=a1768abbf6901db6c0532641a0e10a12796203e2;hpb=39c3509aa25259db4f75805a1d1da3ab78ce6c88;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/CMakeLists.txt b/low-can-binding/CMakeLists.txt index a1768abb..ce66a8c4 100644 --- a/low-can-binding/CMakeLists.txt +++ b/low-can-binding/CMakeLists.txt @@ -18,33 +18,91 @@ ########################################################################### # Add target to project dependency list + +PROJECT_TARGET_ADD(low-can) + + 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 + diagnostic/diagnostic-message.cpp + diagnostic/diagnostic-manager.cpp + diagnostic/active-diagnostic-request.cpp + utils/signals.cpp + utils/openxc-utils.cpp + utils/timer.cpp + utils/socketcan.cpp + #utils/socketcan-raw.cpp + utils/socketcan-bcm.cpp + utils/converter.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 - add_library(${TARGET_NAME} MODULE ${TARGET_NAME}.cpp configuration.cpp configuration-generated.cpp - can/can-bus.cpp can/can-bus-dev.cpp can/can-message-set.cpp can/can-message-definition.cpp can/can-message.cpp can/can-signals.cpp can/can-decoder.cpp - diagnostic/diagnostic-message.cpp diagnostic/diagnostic-manager.cpp diagnostic/active-diagnostic-request.cpp - utils/signals.cpp utils/openxc-utils.cpp utils/timer.cpp utils/socket.cpp) + set (SOURCES + binding/low-can-cb.cpp + ) + + 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 SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES - PREFIX "" - LINK_FLAGS ${BINDINGS_LINK_FLAG} + 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} + low-can + ini-config openxc-message-format - nanopb uds-c isotp-c bitfield-c - ${link_libraries} - ) - - # installation directory - INSTALL(TARGETS ${TARGET_NAME} - LIBRARY DESTINATION ${BINDINGS_INSTALL_DIR}) - - build_widget("BINDING") + appcontroller + ${link_libraries})