我已经设置 gcovr 来获得我的 c++ 项目的代码覆盖率,这在嵌套静态库的层次结构方面非常复杂。
我尝试的一种方法是在应该计算覆盖率的目标上包含所需的编译选项 ( -fprofile-instr-generate -fcoverage-mapping -fPIC -fprofile-arcs -ftest-coverage
) 和链接目标库标志 ( )。-fprofile-instr-generate
但这不包括子静态库中的代码。为了解决这个问题,我将标志添加到子静态库中,该库有效,但这不适用于孙辈及以后。
如何正确设置 cMake 以获得所有类的代码覆盖率,而不管它们的库位置如何?