aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf.d/cmake/config.cmake15
-rw-r--r--low-can-binding/CMakeLists.txt11
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