我有一个项目,包括我的项目和多个外部项目,这是一个建筑物,因为我正在使用其他项目。它的结构如下:
external
- subproj1
- subproj2
another_external_project
myproject
- src
- tests
我首先建立它" cmake"配置它并查找是否满足所有依赖关系然后" make"编译它。测试使用" ctest"进行。 问题是我只需要覆盖myproject / src目录。
我试图生成gcda文件:
问题是: 1)我应该添加覆盖标志的步骤是什么?在配置?或者在" make"? 2)如果是这样,我应该将这些标志添加到ctest CMakelist吗?
答案 0 :(得分:0)
好的,找到了答案。
当使用cmake进行配置时,我应该将其传递为:
cmake -D"CMAKE_CXX_FLAGS=-g -O2 -w -fprofile-arcs -ftest-coverage" -D"CMAKE_C_FLAGS=-g -O2 -w -fprofile-arcs -ftest-coverage"
然后用make构建应用程序,我应该传递其他变量但是使用相同的标志:
make -j`cat /proc/cpuinfo | grep processor | wc -l` CFLAGS='-g -O2 -w -fprofile-arcs -ftest-coverage' CXXFLAGS='-g -O2 -w -fprofile-arcs -ftest-coverage'
之后我运行测试并生成报告。