diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2019-06-26 09:14:42 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2019-06-26 17:55:05 +0200 |
commit | 82b45e3de8c92816c8080178224c5bd4be60a091 (patch) | |
tree | 13da4bf66579ae174ecdb2f3f85f8bd248a927ef | |
parent | 9f0d5da859bfe7778394f35baf48fbe77f1ed7d9 (diff) |
Add CMake option to compile with J1939
Add option USE_FEATURE_J1939 to compile j1939 in file config.cmake
This will be set up by default depending on the presence on the
building host of the J1939 CAN module headers.
Bug-AGL: SPEC-2386
Change-Id: I54d4594ff01d4e509bfa0862f3cb486562024aed
Signed-off-by: Arthur Guyader <arthur.guyader@iot.bzh>
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r-- | conf.d/cmake/config.cmake | 15 | ||||
-rw-r--r-- | low-can-binding/CMakeLists.txt | 11 |
2 files changed, 25 insertions, 1 deletions
diff --git a/conf.d/cmake/config.cmake b/conf.d/cmake/config.cmake index 9e9a15b0..e6da31a0 100644 --- a/conf.d/cmake/config.cmake +++ b/conf.d/cmake/config.cmake @@ -40,6 +40,21 @@ set(PROJECT_CMAKE_CONF_DIR "conf.d") # ---------------------------------- set(BUILD_TYPE "RELEASE" CACHE STRING "Default Build variant chosen. (Overwritten by cli if given)") +# Activate J1939 +# Need module in kernel +# -------------- + +execute_process(COMMAND ls /usr/include/linux/can/j1939.h RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET) + +if(result) + message("Feature J1939 disabled") + set(WITH_FEATURE_J1939 OFF) +else() + message("Feature J1939 enabled") + set(WITH_FEATURE_J1939 ON) + add_definitions(-DUSE_FEATURE_J1939) +endif() + # Kernel selection if needed. You can choose between a # mandatory version to impose a minimal version. # Or check Kernel minimal version and just print a Warning diff --git a/low-can-binding/CMakeLists.txt b/low-can-binding/CMakeLists.txt index d09757d6..296fa7d4 100644 --- a/low-can-binding/CMakeLists.txt +++ b/low-can-binding/CMakeLists.txt @@ -18,10 +18,11 @@ ########################################################################### # Add target to project dependency list + PROJECT_TARGET_ADD(low-can) # Define project Targets - add_library(${TARGET_NAME} MODULE + set (SOURCES #binding/${TARGET_NAME}-hat.cpp binding/${TARGET_NAME}-cb.cpp binding/${TARGET_NAME}-subscription.cpp @@ -45,6 +46,14 @@ PROJECT_TARGET_ADD(low-can) utils/config-parser.cpp binding/application-generated.cpp) + if(WITH_FEATURE_J1939) + set(SOURCES_J1939 + # Empty for the moment to not break the build until all modifications are set + ) + endif() + + add_library(${TARGET_NAME} MODULE ${SOURCES} ${SOURCES_J1939}) + 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 |