CMake和CTest:make测试不会建立测试

我正在CMake中尝试CTest,以便使用make testtarget 自动运行某些测试。问题是CMake不能“理解”必须构建的测试,因为它是项目的一部分。

因此,我正在寻找一种明确指定此依赖性的方法。


饮歌长啸
浏览 1438回答 3
3回答

当年话下

可以说这是CMake的一个错误(以前在这里跟踪),它无法立即使用。解决方法是执行以下操作:add_test(TestName ExeName)add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}                  DEPENDS ExeName)然后可以运行make check,它将编译并运行测试。如果您有多个测试,则必须DEPENDS exe1 exe2 exe3 ...在上一行中使用。

紫衣仙女

实际上有一种使用方法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)
打开App,查看更多内容
随时随地看视频慕课网APP