cmake可选测试

时间:2011-03-10 13:13:46

标签: testing makefile cmake

我有以下情况:

add_executable(TestOne TestOne.cpp)
target_link_libraries(TestOne my_library)

add_test(TestOne TestOne)
set_tests_properties (TestOne
  PROPERTIES PASS_REGULAR_EXPRESSION "Passed")

来自CMakeLists.txt的这个cmake代码块位于我的共享库(my_library)项目的/ test目录中。问题是,当我运行“make”时,它会编译这个测试,但是我想让编译可选,为了只在我做“make test”时编译,而不是在我做“make”的时候编译,我想制作我的测试可选。

1 个答案:

答案 0 :(得分:4)

您可以使用CMake变量BUILD_TESTING。

执行以下操作:

 IF (BUILD_TESTING)
    add_executable(TestOne TestOne.cpp)
    target_link_libraries(TestOne my_library)

    add_test(TestOne TestOne)
    set_tests_properties (TestOne
                          PROPERTIES PASS_REGULAR_EXPRESSION "Passed")
 ENDIF(BUILD_TESTING)

您可以通过运行cmake-gui,ccmake或cmake -DBUILD_TESTING = ON来更改变量。据我所知,如果不重新运行CMake,就不可能做你想做的事。