Как заставить CDash игнорировать (определенные?) Предупреждения компилятора

Я использую настройку CMake / CDash, и в целом я вполне доволен.

Я также являюсь активным сторонником того, что "сборки не должны генерировать предупреждения".

Тем не менее, есть одно предупреждение компилятора, генерируемое на одной конкретной платформе, с которым я, безусловно, ничего не могу поделать (на данный момент, если не считать полного рефакторинга кода).

Я могу жить с желтой рамкой на приборной панели CDash, но что действует мне на нервы, так это то, что CDash считает предупреждения компилятора провалом этапа сборки, посылая мне письма по этому поводу:

СБОЙ (w = 1): <...> - Linux - Nightly

Отправка в CDash для проекта <...> содержит предупреждения о сборке.

Проект: <...>

Сайт: <...>

Название сборки: Linux

Время постройки: 2015-04-27T10:01:49 CEST

Тип: Ночная

Предупреждения: 1

Как я могу настроить CDash таким образом, чтобы предупреждения компилятора не сообщались как сбои?

Я хочу получать предупреждение о сбое, только если что-то действительно не удалось...

1 ответ

Решение

Смотрите раздел Customizing CTest на вики-странице тестирования с CTest.

Краткое резюме: В самой внешней директории двоичной сборки создайте файл CTestCustom.cmake со следующим содержанием:

# Additional regular expressions for warning exceptions during build process
list (APPEND CTEST_CUSTOM_WARNING_EXCEPTION "warning_to_ignore")

warning_to_ignore должно быть регулярным выражением, соответствующим одному предупреждению компилятора, сгенерированному на одной конкретной платформе, с которой вы абсолютно точно не можете ничего поделать.

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