我在我的项目中使用 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 服务器。
原文由 Ralph Zhang 发布,翻译遵循 CC BY-SA 4.0 许可协议
我一直在成功使用 https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake 。
只需遵循指南:将文件添加到我的
CMAKE_MODULE_PATH
目录中,添加在我的
CMakeLists.txt
中。我还手动添加了gcov
作为我的目标的依赖项:有了这个,我只需输入
我在构建树的
coverage
目录中获得了 html 报告。