diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ff7ea555..21f241532 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -212,19 +212,19 @@ endif() if(CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo) message(STATUS "Configuring debug mode flags") set(ENABLE_ASSERTIONS ON) - if(NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-inline -fno-omit-frame-pointer") - if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - if (CMAKE_BUILD_TYPE MATCHES Debug) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Og -ggdb") - else() - # Don't override the -O parameter for RelWithDebInfo, we want an optimized build - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb") - endif() - endif() - endif() endif() +if(NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -fno-inline -fno-omit-frame-pointer") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-inline -fno-omit-frame-pointer") +endif() + +if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") + set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -ggdb") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Og -ggdb") +endif() + + if(CMAKE_BUILD_TYPE MATCHES Release OR CMAKE_BUILD_TYPE MATCHES MinRelSize OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo) message(STATUS "Configuring release mode optimizations") # Check if LTO is available @@ -304,10 +304,11 @@ if (ENABLE_COVERAGE) if (NOT CMAKE_BUILD_TYPE MATCHES "Debug") message(ERROR "ENABLE_COVERAGE=ON only make sense with a Debug build") endif() - message(INFO "Enabling coverage") + message(STATUS "Enabling coverage") set(MAYBE_COVERAGE_LIBRARIES "-lgcov") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftest-coverage -fprofile-arcs") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -ftest-coverage -fprofile-arcs") endif() + if (ENABLE_SANITIZER) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address") set(OSRM_CXXFLAGS "${OSRM_CXXFLAGS} -fsanitize=address")