Я создаю свой проект с помощью CMake, и я пытаюсь создать набор тестовых наборов для каждого модуля. По-видимому, если я изменяю переменную CMAKE_RUNTIME_OUTPUT_DIRECTORY
, то ctest не может найти тест для запуска и сбоя.
Я сделал минимальный пример, чтобы продемонстрировать, о чем я говорю, и я запускаю его с помощью CMake 2.8.11.2 на Lubuntu 13.10. Я был бы признателен, если бы кто-нибудь мог сказать мне, является ли это ошибкой и/или как ее обойти. Спасибо.
файл CMakeLists.txt:
cmake_minimum_required (VERSION 2.6)
project (Test)
# Put all tests in the test directory, where the sources also are
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/test)
enable_testing()
add_subdirectory (${PROJECT_SOURCE_DIR}/test)
файл test/CMakeLists.txt:
cmake_minimum_required(VERSION 2.6)
add_executable(ttest main.cpp)
add_test(ttest ttest)
file test/main.cpp:
int main() {
return 0;
}
После создания в новой папке build
исполняемый файл будет правильно создан в папке test
. Выполнение make test
из результатов сборки в следующем выпуске:
Running tests...
Test project /home/svalorzen/Tests/cmake/build
Start 1: ttest
Could not find executable ttest
Looked in the following places:
ttest
ttest
Release/ttest
Release/ttest
Debug/ttest
Debug/ttest
MinSizeRel/ttest
MinSizeRel/ttest
RelWithDebInfo/ttest
RelWithDebInfo/ttest
Deployment/ttest
Deployment/ttest
Development/ttest
Development/ttest
Unable to find executable: ttest
1/1 Test #1: ttest ............................***Not Run 0.00 sec
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 0.00 sec
The following tests FAILED:
1 - ttest (Not Run)
Errors while running CTest
make: *** [test] Error 8