###########################################################################
# 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})