basedOpinionated utility library |
git clone git://git.dimitrijedobrota.com/based.git |
Log | Files | Refs | README | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
commit | 568d6f0f23754354e684fef61c27466bb74fcc43 |
parent | 69041a34dc38d9e2179b0a5297d47a05ee7d7463 |
author | Dimitrije Dobrota <mail@dimitrijedobrota.com> |
date | Wed, 2 Apr 2025 13:52:43 +0200 |
Fix coverage code
Diffstat:M | CMakeLists.txt | | | --- |
M | CMakePresets.json | | | +- |
M | cmake/coverage.cmake | | | +++++++++-- |
3 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -57,9 +57,6 @@ target_include_directories(
target_compile_features(based_based PUBLIC cxx_std_20)
find_package(fmt REQUIRED)
target_link_libraries(based_based PRIVATE fmt::fmt)
# ---- Install rules ----
if(NOT CMAKE_SKIP_INSTALL_RULES)
diff --git a/CMakePresets.json b/CMakePresets.json
@@ -112,7 +112,7 @@
"cacheVariables": {
"ENABLE_COVERAGE": "ON",
"CMAKE_BUILD_TYPE": "Coverage",
"CMAKE_CXX_FLAGS_COVERAGE": "-Og -g --coverage -fkeep-inline-functions -fkeep-static-functions",
"CMAKE_CXX_FLAGS_COVERAGE": "-O0 -g --coverage -fkeep-inline-functions -fkeep-static-functions",
"CMAKE_EXE_LINKER_FLAGS_COVERAGE": "--coverage",
"CMAKE_SHARED_LINKER_FLAGS_COVERAGE": "--coverage",
"CMAKE_MAP_IMPORTED_CONFIG_COVERAGE": "Coverage;RelWithDebInfo;Release;Debug;"
diff --git a/cmake/coverage.cmake b/cmake/coverage.cmake
@@ -1,20 +1,27 @@
# ---- Variables ----
find_program(LCOV lcov REQUIRED)
find_program(GENHTML genhtml REQUIRED)
# We use variables separate from what CTest uses, because those have
# customization issues
set(
COVERAGE_TRACE_COMMAND
lcov -c -q
${LCOV} -c -q
-o "${PROJECT_BINARY_DIR}/coverage.info"
-d "${PROJECT_BINARY_DIR}"
--exclude "${PROJECT_BINARY_DIR}/vcpkg_installed"
--exclude "${PROJECT_SOURCE_DIR}/example"
--include "${PROJECT_SOURCE_DIR}/*"
--capture
--all
CACHE STRING
"; separated command to generate a trace for the 'coverage' target"
)
set(
COVERAGE_HTML_COMMAND
genhtml --legend -f -q
${GENHTML} --legend -f -q
"${PROJECT_BINARY_DIR}/coverage.info"
-p "${PROJECT_SOURCE_DIR}"
-o "${PROJECT_BINARY_DIR}/coverage_html"