我有以下情况:
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”的时候编译,我想制作我的测试可选。
答案 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,就不可能做你想做的事。