Как заставить 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
должно быть регулярным выражением, соответствующим одному предупреждению компилятора, сгенерированному на одной конкретной платформе, с которой вы абсолютно точно не можете ничего поделать.