【发布时间】:2015-04-25 16:25:37
【问题描述】:
对于这么热门的问题,我们深表歉意。但我无法将这里的答案相应地应用到我的环境中。
我有 api 并对其进行测试。两者都是主要“虚拟”项目的子项目。我卡住了,因为我使用了 CMake-anitpattern:
cmake_minimum_required (VERSION 2.8)
set(CMAKE_SKIP_RPATH FALSE)
add_subdirectory ( src )
add_subdirectory ( test )
add_custom_target(coverage
COMMAND make
COMMAND sh ${CMAKE_SOURCE_DIR}/do_coverage.sh
)
COMMAND make 是不好的解决方案,因为我计划稍后在 Windows 上构建我的项目(是的,我也需要将来自 sh-script 的命令放入 CMakeLists.txt 中)。
那么,即使在cmake 之后我想直接make coverage,我怎样才能让 CMake 在自动模式下构建 test 项目以执行覆盖操作(gcov、gcovr)?
谢谢!
【问题讨论】:
-
希望this example可以帮到你。
-
谢谢@Gluttton 似乎您在项目中使用了 CTest,但在我的情况下,我有带有 Google 测试定义的测试源。我的问题是如何在覆盖目标执行时以自动模式构建 gtest 二进制文件?对不起,如果我喜欢在你的例子前面被蒙住眼睛的人。
标签: c++ makefile cmake code-coverage target