Fix: Yocto cross compile flag same the last commit
[apps/app-templates.git] / cmake / cmake.d / 04-build_options.cmake
index 45b4720..266c4c1 100644 (file)
@@ -37,6 +37,8 @@ endif(gcc_minimal_version)
 if (kernel_minimal_version)
        if(DEFINED ENV{SDKTARGETSYSROOT})
                file(STRINGS $ENV{SDKTARGETSYSROOT}/usr/include/linux/version.h LINUX_VERSION_CODE_LINE REGEX "LINUX_VERSION_CODE")
+       elseif(DEFINED ENV{PKG_CONFIG_SYSROOT_DIR})
+               file(STRINGS $ENV{PKG_CONFIG_SYSROOT_DIR}/usr/include/linux/version.h LINUX_VERSION_CODE_LINE REGEX "LINUX_VERSION_CODE")
        else()
                file(STRINGS /usr/include/linux/version.h LINUX_VERSION_CODE_LINE REGEX "LINUX_VERSION_CODE")
        endif()
@@ -69,21 +71,25 @@ add_compile_options(-Werror=maybe-uninitialized)
 add_compile_options(-Werror=implicit-function-declaration)
 add_compile_options(-ffunction-sections -fdata-sections)
 add_compile_options(-fPIC)
-add_compile_options(-g)
 
-set(CMAKE_C_FLAGS_PROFILING   "-g -O2 -pg -Wp,-U_FORTIFY_SOURCE" CACHE STRING "Flags for profiling")
-set(CMAKE_C_FLAGS_DEBUG       "-g -O2 -ggdb -Wp,-U_FORTIFY_SOURCE" CACHE STRING "Flags for debugging")
-set(CMAKE_C_FLAGS_RELEASE     "-O2" CACHE STRING "Flags for releasing")
-set(CMAKE_C_FLAGS_CCOV        "-g -O2 --coverage" CACHE STRING "Flags for coverage test")
+# Compilation option depending on CMAKE_BUILD_TYPE
+##################################################
+add_compile_options($<$<OR:$<CONFIG:DEBUG>,$<CONFIG:PROFILING>,$<CONFIG:CCOV>>:-g>)
+
+add_compile_options($<$<CONFIG:DEBUG>:-pg>)
+add_compile_options($<$<CONFIG:DEBUG>:-ggdb>)
+add_compile_options($<$<CONFIG:CCOV>:--coverage>)
+
+add_compile_options($<$<CONFIG:DEBUG>:-Og>)
+add_compile_options($<$<CONFIG:PROFILING>:-O0>)
+add_compile_options($<$<OR:$<CONFIG:CCOV>,$<CONFIG:PROFILING>>:-O2>)
+
+add_compile_options($<$<OR:$<CONFIG:DEBUG>,$<CONFIG:PROFILING>>:-Wp,-U_FORTIFY_SOURCE>)
 
-set(CMAKE_CXX_FLAGS_PROFILING    "-g -O0 -pg -Wp,-U_FORTIFY_SOURCE")
-set(CMAKE_CXX_FLAGS_DEBUG        "-g -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
-set(CMAKE_CXX_FLAGS_RELEASE      "-g -O2")
-set(CMAKE_CXX_FLAGS_CCOV "-g -O2 --coverage")
 
 # Env variable overload default
 if(DEFINED ENV{INSTALL_PREFIX})
-       set (INSTALL_PREFIX $ENV{INSTALL_PREFIX})
+       set(INSTALL_PREFIX $ENV{INSTALL_PREFIX} CACHE PATH "The path where to install")
 else()
        set(INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/Install" CACHE PATH "The path where to install")
 endif()