diff --git a/CMakeLists.txt b/CMakeLists.txt index cdc93b4aafa0b85d93afd652de9e7a6edacc318b..8fa0c944464ccefe6f2db36c76246fbe6be02116 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,10 +22,34 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(PASTIS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") set(PASTIS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}") +# Add new build types +message("* Adding build types...") +SET(CMAKE_CXX_FLAGS_COVERAGE + "-g -Wall -O0 --coverage" + CACHE STRING "Flags used by the C++ compiler during coverage builds." + FORCE ) +SET(CMAKE_C_FLAGS_COVERAGE + "-g -Wall -O0 --coverage" + CACHE STRING "Flags used by the C compiler during coverage builds." + FORCE ) +SET(CMAKE_EXE_LINKER_FLAGS_COVERAGE + "--coverage" + CACHE STRING "Flags used for linking binaries during coverage builds." + FORCE ) +SET(CMAKE_SHARED_LINKER_FLAGS_COVERAGE + "--coverage" + CACHE STRING "Flags used by the shared libraries linker during coverage builds." + FORCE ) +MARK_AS_ADVANCED( + CMAKE_CXX_FLAGS_COVERAGE + CMAKE_C_FLAGS_COVERAGE + CMAKE_EXE_LINKER_FLAGS_COVERAGE + CMAKE_SHARED_LINKER_FLAGS_COVERAGE ) + # Default build type is RelWIthDebInfo if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING - "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." + "Choose the type of build: Debug Release RelWithDebInfo MinSizeRel Coverage." FORCE) endif(NOT CMAKE_BUILD_TYPE)