Testing cmake可选测试

Testing cmake可选测试,testing,makefile,cmake,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目录中。问题

我有以下情况:

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”时编译,我想让我的测试成为可选的。

有一个CMake变量BUILD\u 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\u TESTING=ON来更改变量。据我所知,如果不重新运行CMake,就不可能做你想做的事情