我正在CMake中尝试CTest,以便使用make testtarget 自动运行某些测试。问题是CMake不能“理解”必须构建的测试,因为它是项目的一部分。因此,我正在寻找一种明确指定此依赖性的方法。
3 回答
当年话下
TA贡献1890条经验 获得超9个赞
可以说这是CMake的一个错误(以前在这里跟踪),它无法立即使用。解决方法是执行以下操作:
add_test(TestName ExeName)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}
DEPENDS ExeName)
然后可以运行make check,它将编译并运行测试。如果您有多个测试,则必须DEPENDS exe1 exe2 exe3 ...在上一行中使用。
紫衣仙女
TA贡献1839条经验 获得超15个赞
实际上有一种使用方法make test。您需要将测试可执行文件的构建定义为测试之一,然后在测试之间添加依赖项。那是:
ADD_TEST(ctest_build_test_code
"${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target test_code)
ADD_TEST(ctest_run_test_code test_code)
SET_TESTS_PROPERTIES(ctest_run_test_code
PROPERTIES DEPENDS ctest_build_test_code)
- 3 回答
- 0 关注
- 1413 浏览
添加回答
举报
0/150
提交
取消