1
0
Fork 0
mirror of https://github.com/TheLartians/ModernCppStarter.git synced 2025-08-30 21:51:12 +02:00

Update commit to exclude dependencies from code coverage reports.

TODO:
* Modify GitHub Actions workflows
This commit is contained in:
Michael Scofield 2021-04-29 13:08:42 +02:00
parent acab9a3b78
commit ef5fb0388f
2 changed files with 16 additions and 5 deletions

View file

@ -10,8 +10,10 @@ include(${CMAKE_CURRENT_LIST_DIR}/CPM.cmake)
# enables sanitizers support using the the `USE_SANITIZER` flag available values are: Address,
# Memory, MemoryWithOrigins, Undefined, Thread, Leak, 'Address;Undefined'
if(USE_SANITIZER OR USE_STATIC_ANALYZER)
CPMAddPackage("gh:StableCoder/cmake-scripts#1f822d1fc87c8d7720c074cde8a278b44963c354")
if(USE_SANITIZER OR USE_STATIC_ANALYZER OR CODE_COVERAGE)
CPMAddPackage("gh:StableCoder/cmake-scripts#1d4bcb41000e7a6a0e6ee1350d91f84f03c14320")
include(${cmake-scripts_SOURCE_DIR}/code-coverage.cmake)
if(USE_SANITIZER)
include(${cmake-scripts_SOURCE_DIR}/sanitizers.cmake)

View file

@ -7,6 +7,8 @@ project(GreeterTests LANGUAGES CXX)
option(ENABLE_TEST_COVERAGE "Enable test coverage" OFF)
option(TEST_INSTALLED_VERSION "Test the version found by find_package" OFF)
set(CODE_COVERAGE ${ENABLE_TEST_COVERAGE})
# --- Import tools ----
include(../cmake/tools.cmake)
@ -54,6 +56,13 @@ doctest_discover_tests(GreeterTests)
# ---- code coverage ----
if(ENABLE_TEST_COVERAGE)
target_compile_options(Greeter PUBLIC -O0 -g -fprofile-arcs -ftest-coverage)
target_link_options(Greeter PUBLIC -fprofile-arcs -ftest-coverage)
endif()
if(DEFINED ENV{CPM_SOURCE_CACHE})
set(CCOV_EXCLUDES $ENV{CPM_SOURCE_CACHE}/.* $ENV{CPM_SOURCE_CACHE}/*)
endif()
set(CCOV_EXCLUDES ${CMAKE_BINARY_DIR}/.* ${CMAKE_BINARY_DIR}/*)
add_code_coverage_all_targets(EXCLUDE ${CCOV_EXCLUDES})
target_code_coverage(Greeter EXCLUDE ${CCOV_EXCLUDES})
target_code_coverage(GreeterTests AUTO EXCLUDE ${CCOV_EXCLUDES})
endif()