我想在我的cmake项目中使用代码覆盖工具(lcov)。 我在这里阅读了这个例子https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake 使用'add_test()'cmake函数在我的项目中添加测试。
我想创建一个名为'test_coverage'的自定义目标,在调用执行时应运行所有测试,收集其覆盖数据并在目录'code_coverage'中生成html(使用genhtml)。
有没有办法可以获得项目及其目录路径中所有测试的列表,这样在自定义目标'test_coverage'中我可以单独执行每个测试并收集其覆盖数据?
答案 0 :(得分:1)
您可以执行&#c; -testVV'从命令行,如果所有测试都是使用add_test创建的,则所有测试都将执行。
如果您希望自定义构建目标执行相同操作,则可以使用以下代码:
add_custom_target(run_tests
COMMAND "ctest -VV" )
我有很多用于代码覆盖和单元测试的cmake代码,但是在这里复制/粘贴它没有意义,因为它听起来像你刚刚开始。