diff --git a/CMakeLists.txt b/CMakeLists.txt index e5acfd2929..c15937c0fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -240,20 +240,6 @@ if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE ${PX4_BUILD_TYPE} CACHE STRING "Build type" FORCE) endif() -if (CMAKE_BUILD_TYPE STREQUAL Coverage) - # Coverage instrumentation plus atomic updates - set(COVERAGE_FLAGS - --coverage - -fprofile-update=atomic - ) - - # Apply to every compile and link invocation - add_compile_options(${COVERAGE_FLAGS}) - add_link_options(${COVERAGE_FLAGS}) - - message(STATUS "Coverage instrumentation enabled with flags: ${COVERAGE_FLAGS}") -endif() - if((CMAKE_BUILD_TYPE STREQUAL "Debug") OR (CMAKE_BUILD_TYPE STREQUAL "Coverage")) set(MAX_CUSTOM_OPT_LEVEL -O0) elseif(CMAKE_BUILD_TYPE MATCHES "Sanitizer") diff --git a/cmake/coverage.cmake b/cmake/coverage.cmake index 16324484fe..e5513f896e 100644 --- a/cmake/coverage.cmake +++ b/cmake/coverage.cmake @@ -36,6 +36,20 @@ find_program(GENHTML_PATH genhtml) message(STATUS "Building for code coverage") +if (CMAKE_BUILD_TYPE STREQUAL Coverage) + # Coverage instrumentation plus atomic updates + set(COVERAGE_FLAGS + --coverage + -fprofile-update=atomic + ) + + # Apply to every compile and link invocation + add_compile_options(${COVERAGE_FLAGS}) + add_link_options(${COVERAGE_FLAGS}) + + message(STATUS "Coverage instrumentation enabled with flags: ${COVERAGE_FLAGS}") +endif() + # add code coverage build type if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")) set(CMAKE_C_FLAGS_COVERAGE "--coverage -ftest-coverage -fdiagnostics-absolute-paths -O0 -fprofile-arcs -fno-inline-functions"