-set(CMAKE_BUILD_TYPE "DEBUG")
-
-# Kernel selection if needed. Impose a minimal version.
-# NOTE FOR NOW IT CHECKS KERNEL Yocto SDK Kernel version
-# else only HOST VERSION
+set(BUILD_TYPE "DEBUG" 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)
+ # Define name for ECU
+ set(J1939_NAME_ECU 0x1239)
+ add_definitions(-DJ1939_NAME_ECU=${J1939_NAME_ECU})
+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)
+
+if(result2)
+ message("Feature ISO TP disabled")
+ set(WITH_FEATURE_ISOTP OFF)
+else()
+ message("Feature ISOTP enabled")
+ set(WITH_FEATURE_ISOTP ON)
+ add_definitions(-DUSE_FEATURE_ISOTP)
+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
+# about missing features and define a preprocessor variable
+# to be used as preprocessor condition in code to disable
+# incompatibles features. Preprocessor define is named
+# KERNEL_MINIMAL_VERSION_OK.
+#
+# NOTE*** FOR NOW IT CHECKS KERNEL Yocto environment and
+# Yocto SDK Kernel version.