Rework J1939 and ISO TP feature enabling
[apps/agl-service-can-low-level.git] / conf.d / cmake / config.cmake
index d7d5f43..5eab8bd 100644 (file)
@@ -44,33 +44,53 @@ set(BUILD_TYPE "DEBUG" CACHE STRING "Default Build variant chosen. (Overwritten
 # Need module in kernel
 # --------------
 
-execute_process(COMMAND ls /usr/include/linux/can/j1939.h RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
+# Default to off
+set(WITH_FEATURE_J1939 OFF CACHE BOOL "")
+
+execute_process(COMMAND ls $ENV{PKG_CONFIG_SYSROOT_DIR}/usr/include/linux/can/j1939.h RESULT_VARIABLE result OUTPUT_QUIET ERROR_QUIET)
 
 if(result)
-       message("Feature J1939 disabled")
+       message("J1939 header not detected!")
+       # Over-ride cached value
        set(WITH_FEATURE_J1939 OFF)
 else()
+       message("J1939 header detected")
+       # Check cache to allow over-ride
+       set(WITH_FEATURE_J1939 ON CACHE BOOL "")
+       # Define name for ECU
+       set(J1939_NAME_ECU 0x1239 CACHE STRING "")
+endif()
+if(WITH_FEATURE_J1939)
        message("Feature J1939 enabled")
-       set(WITH_FEATURE_J1939 ON)
        add_definitions(-DUSE_FEATURE_J1939)
-       # Define name for ECU
-       set(J1939_NAME_ECU 0x1239)
        add_definitions(-DJ1939_NAME_ECU=${J1939_NAME_ECU})
+else()
+       message("Feature J1939 disabled")
 endif()
 
 # Activate ISO TP
 # Need module in kernel
 # --------------
 
-execute_process(COMMAND ls /usr/include/linux/can/isotp.h RESULT_VARIABLE result2 OUTPUT_QUIET ERROR_QUIET)
+# Default to off
+set(WITH_FEATURE_ISOTP OFF CACHE BOOL "")
+
+execute_process(COMMAND ls $ENV{PKG_CONFIG_SYSROOT_DIR}/usr/include/linux/can/isotp.h RESULT_VARIABLE result2 OUTPUT_QUIET ERROR_QUIET)
 
 if(result2)
-    message("Feature ISO TP disabled")
-    set(WITH_FEATURE_ISOTP OFF)
+       message("ISO TP header not detected!")
+       # Over-ride cached value
+       set(WITH_FEATURE_ISOTP OFF)
 else()
-    message("Feature ISOTP enabled")
-    set(WITH_FEATURE_ISOTP ON)
-    add_definitions(-DUSE_FEATURE_ISOTP)
+       message("ISO TP header detected")
+       # Check cache to allow over-ride
+       set(WITH_FEATURE_ISOTP ON CACHE BOOL "")
+endif()
+if(WITH_FEATURE_ISOTP)
+       message("Feature ISOTP enabled")
+       add_definitions(-DUSE_FEATURE_ISOTP)
+else()
+       message("Feature ISO TP disabled")
 endif()
 
 
@@ -112,6 +132,8 @@ set(INSTALL_PREFIX $ENV{HOME}/opt)
 # -----------------------------
 list (APPEND link_libraries -pthread)
 
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+
 # Compilation options definition
 # Use CMake generator expressions to specify only for a specific language
 # Values are prefilled with default options that is currently used.
@@ -184,7 +206,7 @@ set(WIDGET_TYPE application/vnd.agl.service)
 # This is the file that will be executed, loaded,
 # at launch time by the application framework.
 #
-set(WIDGET_ENTRY_POINT lib/afb-low-can.so)
+set(WIDGET_ENTRY_POINT lib/afb-low-can-binding.so)
 
 # Optional dependencies order
 # ---------------------------