converter: Fix to_hex conversion
[apps/agl-service-can-low-level.git] / low-can-binding / CMakeLists.txt
index a1768ab..ce66a8c 100644 (file)
 ###########################################################################
 
 # 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})