Change compile flag and clearer to read
[apps/app-templates.git] / cmake / cmake.d / 04-build_options.cmake
index aacad64..899505f 100644 (file)
@@ -72,15 +72,22 @@ add_compile_options(-Werror=implicit-function-declaration)
 add_compile_options(-ffunction-sections -fdata-sections)
 add_compile_options(-fPIC)
 
-set(CMAKE_C_FLAGS_PROFILING   "-g -O0 -pg -Wp,-U_FORTIFY_SOURCE" CACHE STRING "Flags for profiling")
-set(CMAKE_C_FLAGS_DEBUG       "-g -Og -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")
-
-set(CMAKE_CXX_FLAGS_PROFILING    "-g -O0 -pg -Wp,-U_FORTIFY_SOURCE" CACHE STRING "Flags for profiling")
-set(CMAKE_CXX_FLAGS_DEBUG        "-g -Og -ggdb -Wp,-U_FORTIFY_SOURCE" CACHE STRING "Flags for debugging")
-set(CMAKE_CXX_FLAGS_RELEASE      "-O2" CACHE STRING "Flags for releasing")
-set(CMAKE_CXX_FLAGS_CCOV         "-g -O2 --coverage" CACHE STRING "Flags for coverage test")
+# TODO: make more visible readable compile (macro ? split ?)
+# Compilation option depending on CMAKE_BUILD_TYPE
+##################################################
+add_compile_options($<$<CONFIG:PROFILING>:-g>)
+add_compile_options($<$<CONFIG:PROFILING>:-O0>)
+add_compile_options($<$<CONFIG:PROFILING>:-pg>)
+add_compile_options($<$<CONFIG:PROFILING>:-Wp,-U_FORTIFY_SOURCE>)
+
+add_compile_options($<$<CONFIG:DEBUG>:-g>)
+add_compile_options($<$<CONFIG:DEBUG>:-O0>)
+add_compile_options($<$<CONFIG:DEBUG>:-ggdb>)
+add_compile_options($<$<CONFIG:DEBUG>:-Wp,-U_FORTIFY_SOURCE>)
+
+add_compile_options($<$<CONFIG:CCOV>:-g>)
+add_compile_options($<$<CONFIG:CCOV>:-O2>)
+add_compile_options($<$<CONFIG:CCOV>:--coverage>)
 
 # Env variable overload default
 if(DEFINED ENV{INSTALL_PREFIX})