From 5823f31bc997929e3e2273549856c67ddec6c00a Mon Sep 17 00:00:00 2001 From: Andrej Rode <mail@andrejro.de> Date: Tue, 6 Nov 2018 00:49:55 +0100 Subject: cmake: Fix coverage buildtype to use -lgcov for linking --- cmake/Modules/CodeCoverage.cmake | 22 ---------------------- cmake/Modules/GrBuildTypes.cmake | 9 ++++----- 2 files changed, 4 insertions(+), 27 deletions(-) (limited to 'cmake/Modules') diff --git a/cmake/Modules/CodeCoverage.cmake b/cmake/Modules/CodeCoverage.cmake index 4e96e3b3f9..285a185ec1 100644 --- a/cmake/Modules/CodeCoverage.cmake +++ b/cmake/Modules/CodeCoverage.cmake @@ -85,28 +85,6 @@ ELSEIF(NOT CMAKE_COMPILER_IS_GNUCXX) MESSAGE(FATAL_ERROR "Compiler is not GNU gcc! Aborting...") ENDIF() # CHECK VALID COMPILER -SET(CMAKE_CXX_FLAGS_COVERAGE - "-g -O0 --coverage -fprofile-arcs -ftest-coverage" - CACHE STRING "Flags used by the C++ compiler during coverage builds." - FORCE ) -SET(CMAKE_C_FLAGS_COVERAGE - "-g -O0 --coverage -fprofile-arcs -ftest-coverage" - CACHE STRING "Flags used by the C compiler during coverage builds." - FORCE ) -SET(CMAKE_EXE_LINKER_FLAGS_COVERAGE - "" - CACHE STRING "Flags used for linking binaries during coverage builds." - FORCE ) -SET(CMAKE_SHARED_LINKER_FLAGS_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 ) - IF ( NOT (CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "Coverage")) MESSAGE( WARNING "Code coverage results with an optimized (non-Debug) build may be misleading" ) ENDIF() # NOT CMAKE_BUILD_TYPE STREQUAL "Debug" diff --git a/cmake/Modules/GrBuildTypes.cmake b/cmake/Modules/GrBuildTypes.cmake index 15b7339136..32d72e5690 100644 --- a/cmake/Modules/GrBuildTypes.cmake +++ b/cmake/Modules/GrBuildTypes.cmake @@ -70,9 +70,8 @@ endfunction(GR_CHECK_BUILD_TYPE) # -DCMAKE_BUILD_TYPE=Coverage # # This type uses no optimization (-O0), outputs debug symbols (-g) and -# outputs all intermediary files the build system produces, including -# all assembly (.s) files. Look in the build directory for these -# files. +# creates .gcda files while running functions in built executables and +# libraries. # NOTE: This is not defined on Windows systems. ######################################################################## if(NOT WIN32) @@ -81,10 +80,10 @@ if(NOT WIN32) SET(CMAKE_C_FLAGS_COVERAGE "-Wall -pedantic -pthread -g -O0 -fprofile-arcs -ftest-coverage" CACHE STRING "Flags used by the C compiler during Coverage builds." FORCE) SET(CMAKE_EXE_LINKER_FLAGS_COVERAGE - "-Wl,--warn-unresolved-symbols,--warn-once" CACHE STRING + "-Wl,--warn-unresolved-symbols,--warn-once,-lgcov" CACHE STRING "Flags used for linking binaries during Coverage builds." FORCE) SET(CMAKE_SHARED_LINKER_FLAGS_COVERAGE - "-Wl,--warn-unresolved-symbols,--warn-once" CACHE STRING + "-Wl,--warn-unresolved-symbols,--warn-once,-lgcov" CACHE STRING "Flags used by the shared lib linker during Coverage builds." FORCE) MARK_AS_ADVANCED( -- cgit v1.2.3