X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=conf.d%2Fconfig.cmake;fp=conf.d%2Fconfig.cmake;h=35d3b258308006a3085de23ae7afb4e196f82951;hb=b7d44a2d155a1199c25b783b915fd8ba3ce42a69;hp=bb007f9345d9e5b54e773bd85c3f75058465f379;hpb=9a441dad97539ec696d33eabb8ac36c222790e7f;p=src%2Flow-level-can-generator.git diff --git a/conf.d/config.cmake b/conf.d/config.cmake index bb007f9..35d3b25 100644 --- a/conf.d/config.cmake +++ b/conf.d/config.cmake @@ -19,7 +19,7 @@ # Project Info # ------------------ set(PROJECT_NAME can-config-generator) -set(PROJECT_VERSION "1.0") +set(PROJECT_VERSION "1.5") set(PROJECT_PRETTY_NAME "CAN configuration generator") set(PROJECT_DESCRIPTION "Generator that convert JSON file following OpenXC spec to configuration-generated.cpp file for the low level CAN binding.") set(PROJECT_URL "https://gerrit.automotivelinux.org/gerrit/src/low-level-can-generator") @@ -28,109 +28,41 @@ set(PROJECT_AUTHOR "Loïc Collignon") set(PROJECT_AUTHOR_MAIL "loic.collignon@iot.bzh") set(PROJECT_ICON "icon.png") set(PROJECT_LICENCE "APL2.0") -set(PROJECT_LANGUAGES,"C") +set(PROJECT_LANGUAGES,"CXX") -# Where are stored the project configuration files -# relative to the root project directory -set(PROJECT_CMAKE_CONF_DIR "conf.d") +project(${PROJECT_NAME} VERSION ${PROJECT_VERSION} LANGUAGES ${PROJECT_LANGUAGES}) -# Where are stored your external libraries for your project. This is 3rd party library that you don't maintain -# but used and must be built and linked. -# set(PROJECT_LIBDIR "libs") +set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMP0048 1) -# Where are stored data for your application. Pictures, static resources must be placed in that folder. -# set(PROJECT_RESOURCES "data") - - -# Compilation Mode (DEBUG, RELEASE) -# ---------------------------------- -set(CMAKE_BUILD_TYPE "DEBUG") - -# Kernel selection if needed. Overload the detected compiler. -# ----------------------------------------------- -#set (kernel_minimal_version 4.8) - -# Compiler selection if needed. Overload the detected compiler. -# ----------------------------------------------- -set (gcc_minimal_version 4.9) - -# PKG_CONFIG required packages -# ----------------------------- -set (PKG_REQUIRED_LIST) +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "RELEASE") +endif() # Static constante definition # ----------------------------- -add_compile_options($<$:-std=c++11>) - -# Print a helper message when every thing is finished -# ---------------------------------------------------- -set(CLOSING_MESSAGE "Test with: ./src/can-config-generator -m ../tests/basic.json -o application-generated.cpp") +add_compile_options($<$:-std=c++11> + -Wall + -Wextra + -Wconversion + -Wno-unused-parameter + -Wno-sign-compare + -Wno-sign-conversion + -Werror=implicit-function-declaration + -ffunction-sections + -fdata-sections + -fPIC + -Werror=maybe-uninitialized + ) + +if(${CMAKE_BUILD_TYPE} STREQUAL "RELEASE") + add_compile_options(-O2 -D_FORTIFY_SOURCE=2) +elseif(${CMAKE_BUILD_TYPE} STREQUAL "DEBUG") + add_compile_options(-g -ggdb -O0) +endif() # (BUG!!!) as PKG_CONFIG_PATH does not work [should be an env variable] # --------------------------------------------------------------------- # set(CMAKE_INSTALL_PREFIX $ENV{HOME}/opt) set(CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}/lib64/pkgconfig ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) set(LD_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib) - -# Optional location for config.xml.in -# ----------------------------------- -#set(WIDGET_CONFIG_TEMPLATE ${CMAKE_CURRENT_SOURCE_DIR}/conf.d/wgt/config.xml.in) - -# Mandatory widget Mimetype specification -# -------------------------------------------------- -# Choose between : -# - application/vnd.agl.service -# - application/vnd.agl.native -# - application/x-executable -# - text/html -# -set(WIDGET_TYPE application/x-executable) - -# Mandatory Widget entry point file. -# ---------------------------------------------------- -# This is the file that will be executed, loaded,... -# at launch time by the application framework -# -# !IMPORTANT! : Service Widget Mimetype has to specified -# the WIDGET_ENTRY_POINT "lib" which is the default directory -# that holds the bindings. -# -#set(WIDGET_ENTRY_POINT None) - -# Optional dependencies order -# --------------------------- -#set(EXTRA_DEPENDENCIES_ORDER) - -# Optional Extra global include path -# ----------------------------------- -#set(EXTRA_INCLUDE_DIRS) - -# Optional extra libraries -# ------------------------- -#set(EXTRA_LINK_LIBRARIES) - -# Optional force binding installation -# ------------------------------------ -# set(BINDINGS_INSTALL_PREFIX PrefixPath ) - -# Optional force binding Linking flag -# ------------------------------------ -# set(BINDINGS_LINK_FLAG LinkOptions ) - -# Optional force package prefix generation, like widget -# ----------------------------------------------------- -# set(PACKAGE_PREFIX DestinationPath) - -# Optional Application Framework security token -# and port use for remote debugging. -#------------------------------------------------------------ -#set(AFB_TOKEN "" CACHE PATH "Default AFB_TOKEN") -#set(AFB_REMPORT "1234" CACHE PATH "Default AFB_TOKEN") - -# 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(CMakeAfbTemplates)