Использование CMake с CTest и CDash
Я собираюсь использовать CDash с CMake/CTest в моем проекте C++.
Чтобы включить CDash и настроить параметры, такие как "MEMORYCHECK_SUPPRESSIONS_FILE", "DART_TESTING_TIMEOUT", я добавил следующие строки в корневой CMakeLists.txt
set(MEMORYCHECK_SUPPRESSIONS_FILE "${CMAKE_SOURCE_DIR}/valgrind.supp")
set(DART_TESTING_TIMEOUT "120")
include(CTest)
Однако сгенерированный файл "DartConfiguration.tcl" вообще не содержит моих настроек ( MemoryCheckSuppressionFile пуст, а TimeOut по-прежнему является значением по умолчанию)
Я обнаружил, что, например, если я передаю -DDART_TESTING_TIMEOUT=STRING:120, он работает, но не работает, если указать их в CMakeLists.txt.
Заранее спасибо:)
DartConfiguration.tcl
# Dynamic analisys and coverage
PurifyCommand:
ValgrindCommand:
ValgrindCommandOptions:
MemoryCheckCommand: /usr/bin/valgrind
MemoryCheckCommandOptions:
MemoryCheckSuppressionFile:
CoverageCommand: /usr/bin/gcov
# Testing options
# TimeOut is the amount of time in seconds to wait for processes
# to complete during testing. After TimeOut seconds, the
# process will be summaily terminated.
# Currently set to 25 -9.0.0.71596-0inutes
TimeOut: 1500
1 ответ
Есть три возможных решения:
Вы создаете переменные кэша. Это также создает запись GUI для переменной, что не всегда то, что вы хотите для автоматического тестирования:
SET(DART_TESTING_TIMEOUT "120" CACHE STRING "")
Вы указываете свои параметры с помощью простой команды "set", но в файле с именем DartConfig.cmake вместо основного CMakeLists.txt . Этот файл анализируется для создания DartConfiguration.tcl
Вы используете сценарии CTest для настройки своего клиента dartclient: http://www.cmake.org/Wiki/CMake_Scripting_Of_CTest