X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=low-can-binding%2FCMakeLists.txt;h=fd13b427b0de1a910f5080f525401c9aede602b3;hb=2e10ab5760e5d2a6abab7acf47f781442308362f;hp=ae035c914c9ab6b181bfc3750e2ed0ea18defb42;hpb=9e444ade872bc436cf12bc12d03c3a5d51ac0b9e;p=apps%2Fagl-service-can-low-level.git diff --git a/low-can-binding/CMakeLists.txt b/low-can-binding/CMakeLists.txt index ae035c91..fd13b427 100644 --- a/low-can-binding/CMakeLists.txt +++ b/low-can-binding/CMakeLists.txt @@ -2,6 +2,7 @@ # Copyright 2015, 2016, 2017 IoT.bzh # # author: Fulup Ar Foll +# contrib: Romain Forlot # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,65 +18,70 @@ ########################################################################### # Add target to project dependency list -PROJECT_TARGET_ADD(low-can-binding) - # Define project Targets - fill_include_dir(${PROJECT_LIBDIR}) - file(GLOB filelist "${PROJECT_LIBDIR}/*") - foreach(filename ${filelist}) - if(IS_DIRECTORY ${filename}) - include_directories(${filename}) - STRING(REGEX REPLACE "^.*\/(.*)$" "\\1" shortname ${filename}) - find_source_files(${PROJECT_LIBDIR}) - add_library(${shortname} STATIC ${sources_files}) - endif(IS_DIRECTORY ${filename}) - endforeach() - - add_library(${PROJECT_NAME} MODULE ${PROJECT_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) +PROJECT_TARGET_ADD(low-can) - # Binder exposes a unique public entry point - SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES - PREFIX "" - LINK_FLAGS ${BINDINGS_LINK_FLAG} - OUTPUT_NAME ${PROJECT_NAME} - ) + # Define project Targets + set (SOURCES + binding/${TARGET_NAME}-cb.cpp + binding/${TARGET_NAME}-subscription.cpp + binding/application.cpp + can/can-bus.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 + utils/signals.cpp + utils/openxc-utils.cpp + utils/timer.cpp + utils/socketcan.cpp + #utils/socketcan-raw.cpp + utils/socketcan-bcm.cpp + utils/config-parser.cpp + utils/converter.cpp + ) - # Library dependencies (include updates automatically) - TARGET_LINK_LIBRARIES(${PROJECT_NAME} - ${EXTRA_LINK_LIBRARIES} - ${link_libraries} - ) - # installation directory - INSTALL(TARGETS ${PROJECT_NAME} - LIBRARY DESTINATION ${BINDINGS_INSTALL_DIR}) + if(WITH_FEATURE_ISOTP) + set(SOURCES_ISOTP + utils/socketcan-isotp.cpp + ) + endif() - # WGT packaging - message(STATUS "Creation of ${PROJECT_NAME}.wgt package for AppFW") - configure_file(${PROJECT_WGT_DIR}/config.xml config.xml) + 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() - if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_WGT_DIR}/etc") - file(GLOB conf_files "${PROJECT_WGT_DIR}/etc/*") - foreach(filename ${conf_files}) - STRING(REGEX REPLACE "^.*\/(.*)$" "\\1" shortname ${filename}) - message(STATUS "Copying config file ${shortname}") - configure_file(${filename} ${shortname}) - endforeach() - endif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_WGT_DIR}/etc") + add_library(${TARGET_NAME} MODULE ${SOURCES} ${SOURCES_J1939} ${SOURCES_ISOTP}) - add_custom_command( - OUTPUT ${PROJECT_NAME}.wgt - DEPENDS ${PROJECT_NAME} ${EXTRA_LINK_LIBRARIES} ${conf_files} ${PROJECT_WGT_DIR}/config.xml - COMMAND rm -rf package - COMMAND mkdir -p package/lib package/htdocs package/etc - COMMAND cp config.xml package/ - COMMAND cp ${conf_files} package/etc - COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/packaging/wgt/${PROJECT_ICON} package/icon.png - COMMAND cp ${PROJECT_NAME}.so package/lib - COMMAND wgtpkg-pack -f -o ${PROJECT_NAME}.wgt package + 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 "afb-" + LABELS "BINDINGV3" + LINK_FLAGS ${BINDINGS_LINK_FLAG} + OUTPUT_NAME ${TARGET_NAME} ) - add_custom_target(widget ALL DEPENDS ${PROJECT_NAME}.wgt) \ No newline at end of file + + # Library dependencies (include updates automatically) + TARGET_LINK_LIBRARIES(${TARGET_NAME} + ini-config + openxc-message-format + uds-c + isotp-c + bitfield-c + appcontroller + ${link_libraries}) +