diff --git a/CMakeLists.txt b/CMakeLists.txt index bb3681f42076dec0c6b13ae7594854eb26eedeb0..2c72370a010868e6d5b72467c01e05c215367f56 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,9 @@ if("${PUGS_SHORT_VERSION}" STREQUAL "") message(FATAL_ERROR "Unable to compute short version from PUGS_VERSION=${PUGS_VERSION}") endif() + +set(CMAKE_CONFIGURATION_TYPES "Release;Debug;Coverage" CACHE STRING INTERNAL FORCE ) + # set project version as PUGS_SHORT_VERSION project (Pugs VERSION ${PUGS_SHORT_VERSION}) @@ -34,16 +37,6 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(PUGS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") set(PUGS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}") -# Change RelWithDebInfo to compile assertions -SET("CMAKE_CXX_FLAGS_RELWITHDEBINFO" - "-g -O2" - CACHE STRING "Flags used by the compiler during release builds with debug info and assertions" - FORCE ) -SET("CMAKE_C_FLAGS_RELWITHDEBINFO" - "-g -O2" - CACHE STRING "Flags used by the compiler during release builds with debug info and assertions" - FORCE ) - # Add new build types set(CMAKE_CXX_FLAGS_COVERAGE "-g -O0 --coverage" @@ -68,16 +61,16 @@ mark_as_advanced( CMAKE_SHARED_LINKER_FLAGS_COVERAGE ) if(CMAKE_BUILD_TYPE) - string(REGEX MATCH "(Debug|Release|RelWithDebInfo|MinSizeRel|Coverage)" VALID_BUILD_TYPE "${CMAKE_BUILD_TYPE}") + string(REGEX MATCH "^(Release|Debug|Coverage)$" VALID_BUILD_TYPE "${CMAKE_BUILD_TYPE}") if(NOT VALID_BUILD_TYPE) message(FATAL_ERROR "Invalid CMAKE_BUILD_TYPE: '${CMAKE_BUILD_TYPE}'") endif() endif() -# Default build type is RelWIthDebInfo +# Default build type is Release if(NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING - "Choose the type of build: Debug Release RelWithDebInfo MinSizeRel Coverage." + set(CMAKE_BUILD_TYPE "Release" CACHE STRING + "Choose the type of build: Release Debug Coverage." FORCE) endif() @@ -327,12 +320,10 @@ endif() # Compiler flags set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PUGS_CXX_FLAGS}") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${PUGS_CXX_FLAGS}") -set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${PUGS_CXX_FLAGS}") # Add debug mode for Standard C++ library (not for AppleClang since it is broken) if (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG -D_LIBCPP_DEBUG=1") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -D_GLIBCXX_DEBUG -D_LIBCPP_DEBUG=1") endif() #------------------------------------------------------