From d269cc8482c8b1c4c850c160bb672208a41c07d5 Mon Sep 17 00:00:00 2001 From: James Grogan Date: Mon, 23 Jan 2023 14:07:43 +0000 Subject: [PATCH] Add some coverage support --- CMakeLists.txt | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 219d091..64c722b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,15 +14,22 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +set(CODE_COVERAGE OFF CACHE BOOL "Toggle build code coverage") + if(MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3") -#elseif(CMAKE_COMPILER_IS_GNUCC) else() - #set(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage") - #set(GCC_COVERAGE_LINK_FLAGS "-lgcov") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Wall -Wextra") - #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}") - #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}") + + if (CODE_COVERAGE) + if (CMAKE_COMPILER_IS_GNUCC) + message(STATUS "Enabling code coverage") + set(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage") + set(GCC_COVERAGE_LINK_FLAGS "-lgcov") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}") + endif() + endif() endif() add_subdirectory(src)