我试图让CMake/CTest工作。我的问题是,CTest似乎没有拿起测试可执行文件,除非它被命名为tests
。除非测试可执行文件名为“tests”,否则无法运行ctest
在我的小例子项目,我有一个单一的CMakeLists.txt文件:
cmake_minimum_required(VERSION 3.0)
project(myproject C)
enable_testing()
set(TEST_EXE_NAME tests)
add_executable(${TEST_EXE_NAME} test_main.c)
add_test(NAME "My tests" COMMAND ${TEST_EXE_NAME})
...和一个非常简单的测试程序,test_main.c
,总是通过:
int main() {
return 0;
}
我可以运行make && make test
,并且只要TEST_EXE_NAME
设置为tests
就可以。 但是,当我将可执行文件名更改为其他内容时,例如mytests
,我得到以下错误:
Could not find executable tests
Looked in the following places:
tests
tests
Release/tests
Release/tests
Debug/tests
...
我缺少什么?
更改名称后是否重新编译/重新制作?如果没有,Ctest会查找新名称,但这些文件仍旧以旧名称命名。 – ollo
是的,我做了一个完整的rm -rf ./* && cmake PATHTOSOURCE && make && make test –