Использование 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 ответ

Есть три возможных решения:

  1. Вы создаете переменные кэша. Это также создает запись GUI для переменной, что не всегда то, что вы хотите для автоматического тестирования: SET(DART_TESTING_TIMEOUT "120" CACHE STRING "")

  2. Вы указываете свои параметры с помощью простой команды "set", но в файле с именем DartConfig.cmake вместо основного CMakeLists.txt . Этот файл анализируется для создания DartConfiguration.tcl

  3. Вы используете сценарии CTest для настройки своего клиента dartclient: http://www.cmake.org/Wiki/CMake_Scripting_Of_CTest

Другие вопросы по тегам