Использование CMake с CTest и CDash - PullRequest
2 голосов
/ 23 августа 2010

Я собираюсь использовать 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 Ответ

2 голосов
/ 03 февраля 2011

Существует три возможных решения:

  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

...