为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

饮歌长啸 2019-11-12 14:43:56
我正在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 ...在上一行中使用。


查看完整回答
反对 回复 2019-11-12
?
紫衣仙女

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)


查看完整回答
反对 回复 2019-11-12
  • 3 回答
  • 0 关注
  • 1413 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信