gpt4 book ai didi

c++ - 将 gcov 与 CMake/Cash 结合使用的详细指南?

转载 作者:IT老高 更新时间:2023-10-28 14:00:29 25 4
gpt4 key购买 nike

我在我的项目中使用 CMake,并设置了一个 cdash 服务器以进行连续/夜间构建。一切正常,通过设置 crontab,我们每小时/每晚的构建/测试结果会自动上传到我们的 cdash 服务器。

我的下一步是将测试覆盖率报告添加到构建中。我在这里找到文档 https://gitlab.kitware.com/cmake/community/-/wikis/doc/ctest/Coverage但坦率地说,它离实用指南有点远。

目前我已经添加了所需的标志(而不是-fprofile-arcs -ftest-coverage,我发现--coverage更好),编译过程生成. gcno 文件。但后来我被困住了。命令

make NightlyCoverage

似乎什么也没做。谁能告诉我下一步该做什么?我想要的结果是通过 make NightlyCoverage,生成覆盖率报告并上传到 cdash 服务器。

最佳答案

我一直在使用 https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake成功。

按照指南:将文件添加到我的 CMAKE_MODULE_PATH 目录,添加

set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules)
if(CMAKE_COMPILER_IS_GNUCXX)
include(CodeCoverage)
setup_target_for_coverage(${PROJECT_NAME}_coverage ${PROJECT_TEST_NAME} coverage)
endif()

在我的 CMakeLists.txt 中。我还手动添加了 gcov 作为目标的依赖项:

if(CMAKE_COMPILER_IS_GNUCXX)
target_link_libraries(${PROJECT_TEST_NAME} gcov)
endif()

有了这个,我只需输入

make my_project_coverage

我在构建树的 coverage 目录中获得了 html 报告。

关于c++ - 将 gcov 与 CMake/Cash 结合使用的详细指南?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13116488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com