With我尝试使用CTest执行一个简单的测试. 我把这些配置都放在一个目录(${CMAKE_SOURCE_DIR}):
~$ cat hello.cpp
#include <iostream>
int main() {
std::cout << "hello worldn";
return(0);
}
~$ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.18)
project(TEST_CTEST)
enable_testing()
add_executable(test_ctest hello.cpp)
add_test(my_test ./build/test_ctest)
然后执行:
~$ rm -rf Testing/ build/
~$ cmake -S . -B build
~$ cmake --build build
~$ ./build/test_ctest
hello world
~$ ctest
*********************************
No test configuration file found!
*********************************
Usage
ctest [options]
我在其他Q&A中发现的唯一提示是将enable_testing()
放入根CMakeLists.txt
中。我觉得我好像错过了一点东西,但是我又找不到。
如何使用CTest运行测试?
宏enable_testing()
在构建目录中创建ctest配置文件。要找到这个文件,需要从构建运行ctest
目录。
从源目录运行ctest
是没有意义的,因为它看不到CMake的结果(除非你在源内构建)。