J'essaie de faire fonctionner CMake/CTest. Mon problème est que CTest ne semble pas ramasser un exécutable de test à moins qu'il ne soit nommé tests
.Impossible d'exécuter ctest sauf si l'exécutable de test est nommé "tests"
Dans mon exemple de projet minimal J'ai un seul fichier 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})
... et un programme de test très simple, test_main.c
, qui passe toujours:
int main() {
return 0;
}
je peux exécuter make && make test
, et tout va bien tant que TEST_EXE_NAME
est réglé sur tests
. Cependant, lorsque je change le nom de l'exécutable en quelque chose d'autre, par exemple. mytests
, je reçois l'erreur suivante:
Could not find executable tests
Looked in the following places:
tests
tests
Release/tests
Release/tests
Debug/tests
...
Qu'est-ce que je manque?
Avez-vous recompilé/re-faire après avoir changé le nom? Si ce n'est pas le cas, Ctest cherchera le nouveau nom, mais les fichiers sont toujours en nom avec l'ancien. – ollo
Oui, je fais un rm -rf complet ./* && cmake PATHTOSOURCE && make && make test –