CMake和CTest:make test不能构建测试

110
我正在尝试在 CMake 中使用 CTest,以便使用 make test 目标自动运行我的一些测试。问题是 CMake 不“理解”我想运行的测试必须被构建,因为它是项目的一部分。因此,我正在寻找一种明确指定这种依赖关系的方法。
11个回答

-5

所有的回答都不错,但它们都暗示通过命令make test运行测试违反了传统。我用了一个小技巧:

add_test(NAME <mytest>
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND sh -c "make <mytarget>; $<TARGET_FILE:<mytarget>>")

这意味着测试包括构建(可选)和运行可执行目标。


7
规则#1:不要在没有sh的系统上使用。你知道有这样的系统吗? - dyomas
11
是的,Windows就是其中之一。 - David Faure
3
这段话的意思是这个代码被写死了,只能用make编译,并且失去了CMake生成其他构建工具脚本的功能。 - poolie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接