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>
# ----------------------------------
set(BUILD_TYPE "RELEASE" CACHE STRING "Default Build variant chosen. (Overwritten by cli if given)")
# ----------------------------------
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
# 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
###########################################################################
# Add target to project dependency list
###########################################################################
# Add target to project dependency list
PROJECT_TARGET_ADD(low-can)
# Define project Targets
PROJECT_TARGET_ADD(low-can)
# Define project Targets
- add_library(${TARGET_NAME} MODULE
#binding/${TARGET_NAME}-hat.cpp
binding/${TARGET_NAME}-cb.cpp
binding/${TARGET_NAME}-subscription.cpp
#binding/${TARGET_NAME}-hat.cpp
binding/${TARGET_NAME}-cb.cpp
binding/${TARGET_NAME}-subscription.cpp
utils/config-parser.cpp
binding/application-generated.cpp)
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
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