我試圖讓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 –