based

Opinionated utility library
git clone git://git.dimitrijedobrota.com/based.git
Log | Files | Refs | README | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING

commit568d6f0f23754354e684fef61c27466bb74fcc43
parent69041a34dc38d9e2179b0a5297d47a05ee7d7463
authorDimitrije Dobrota <mail@dimitrijedobrota.com>
dateWed, 2 Apr 2025 13:52:43 +0200

Fix coverage code

Diffstat:
MCMakeLists.txt|---
MCMakePresets.json|+-
Mcmake/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"