我正在尝试在 CMake 中使用 CTest,以便使用
make test
目标自动运行我的一些测试。问题是 CMake 不“理解”我想运行的测试必须被构建,因为它是项目的一部分。因此,我正在寻找一种明确指定这种依赖关系的方法。make test
目标自动运行我的一些测试。问题是 CMake 不“理解”我想运行的测试必须被构建,因为它是项目的一部分。因此,我正在寻找一种明确指定这种依赖关系的方法。所有的回答都不错,但它们都暗示通过命令make test
运行测试违反了传统。我用了一个小技巧:
add_test(NAME <mytest>
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMAND sh -c "make <mytarget>; $<TARGET_FILE:<mytarget>>")
这意味着测试包括构建(可选)和运行可执行目标。
make
编译,并且失去了CMake生成其他构建工具脚本的功能。 - poolie