X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=conf.d%2Fcmake%2Fconfig.cmake;h=d7d5f43e19e13c5d5a9e3333c7b3235a9fbd306a;hb=7ea53d8a89912cd0ab00fa4c0957f40ee6c9db8a;hp=e144553745027207ca493627bbe1831943dc356b;hpb=e17d3eea4fd3350b3b6b25947012fc4d986991f5;p=apps%2Fagl-service-can-low-level.git diff --git a/conf.d/cmake/config.cmake b/conf.d/cmake/config.cmake index e1445537..d7d5f43e 100644 --- a/conf.d/cmake/config.cmake +++ b/conf.d/cmake/config.cmake @@ -18,7 +18,7 @@ # Project Info # ------------------ -set(PROJECT_NAME low-can-service) +set(PROJECT_NAME agl-service-can-low-level) set(PROJECT_PRETTY_NAME "Low level CAN binding") set(PROJECT_DESCRIPTION "Expose CAN Low Level APIs through AGL Framework") set(PROJECT_URL "https://gerrit.automotivelinux.org/gerrit/apps/agl-service-can-low-level") @@ -29,16 +29,51 @@ set(PROJECT_LICENSE "APL2.0") set(PROJECT_LANGUAGES "C;CXX") set(API_NAME "low-can") -# Where are stored default templates files from submodule or subtree app-templates in your project tree +# Where are stored the project configuration files # relative to the root project directory -set(PROJECT_APP_TEMPLATES_DIR "conf.d/app-templates") +set(PROJECT_CMAKE_CONF_DIR "conf.d") # Which directories inspect to find CMakeLists.txt target files # set(PROJECT_SRC_DIR_PATTERN "*") # Compilation Mode (DEBUG, RELEASE) # ---------------------------------- -set(CMAKE_BUILD_TYPE "DEBUG" CACHE STRING "Default Build variant chosen. (Overwritten by cli if given)") +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. @@ -64,6 +99,8 @@ set (PKG_REQUIRED_LIST json-c libsystemd>=222 afb-daemon + afb-helpers + appcontroller ) # Prefix path where will be installed the files @@ -89,7 +126,6 @@ set(COMPILE_OPTIONS -Wno-sign-compare -Wno-sign-conversion -Werror=maybe-uninitialized - -Werror=implicit-function-declaration -ffunction-sections -fdata-sections -fPIC @@ -119,6 +155,8 @@ set(CXX_COMPILE_OPTIONS -pthread CACHE STRING "Compilation flags for C++ languag # -D_FORTIFY_SOURCE=2 # CACHE STRING "Compilation flags for RELEASE build type.") +add_definitions(-DAFB_BINDING_VERSION=3) + # Optional location for config.xml.in # ----------------------------------- #set(WIDGET_ICON "\"${CMAKE_SOURCE_DIR}conf.d/wgt/${PROJECT_ICON}\"" CACHE PATH "Path to the widget icon") @@ -179,6 +217,13 @@ set(AFB_REMPORT "1234" CACHE STRING "Default binder listening port") set(CLOSING_MESSAGE "Typical binding launch: afb-daemon --port=${AFB_REMPORT} --workdir=${CMAKE_BINARY_DIR}/package --ldpaths=lib --roothttp=htdocs --token=\"${AFB_TOKEN}\" --tracereq=common --verbose") set(PACKAGE_MESSAGE "Install widget file using in the target : afm-util install ${PROJECT_NAME}.wgt") + +# Add Controller config +add_definitions(-DCONTROL_PLUGIN_PATH="${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib/plugins:${CMAKE_BINARY_DIR}/package/lib/plugins:${CMAKE_BINARY_DIR}/package/var:${CMAKE_BINARY_DIR}/package-test") +add_definitions(-DCONTROL_CONFIG_PATH="${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/etc:${CMAKE_BINARY_DIR}/package/etc:${CMAKE_BINARY_DIR}/package-test/") + + + # Optional schema validator about now only XML, LUA and JSON # are supported #------------------------------------------------------------ @@ -188,5 +233,8 @@ set(PACKAGE_MESSAGE "Install widget file using in the target : afm-util install # This include is mandatory and MUST happens at the end # of this file, else you expose you to unexpected behavior +# +# This CMake module could be found at the following url: +# https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/cmake-apps-module # ----------------------------------------------------------- -include(${PROJECT_APP_TEMPLATES_DIR}/cmake/common.cmake) +include(CMakeAfbTemplates)