Spec-Zone.ru › CMake

CMP0218

Добавлено в версии 4.4.

Переменные CMAKE_WARN_DEPRECATED и CMAKE_ERROR_DEPRECATED игнорируются.

В CMake 4.3 и более ранних версиях эти переменные определяли, приводили ли сообщения об устаревании к предупреждениям или ошибкам либо подавлялись. Однако не все сообщения об устаревании учитывали значения, не сохранённые в кэше.

В CMake 4.4 появилась новая унифицированная система управления diagnostics, в которой для управления действиями диагностики предпочтительно использовать команду cmake_diagnostic().

Эта политика обеспечивает совместимость с проектами, которые полагались на эти переменные и ещё не были обновлены с учётом изменений.

Поведение OLD для этой политики заключается в использовании переменных для управления сообщениями об устаревании, которые в CMake 4.3 и более ранних версиях учитывали значения этих переменных, не сохранённые в кэше.

Поведение NEW не придаёт особого значения значениям этих переменных, не сохранённым в кэше, и использует состояние диагностики CMD_DEPRECATED для управления всеми сообщениями об устаревании.

Примечание

Переменные кэша CMAKE_WARN_DEPRECATED и CMAKE_ERROR_DEPRECATED синхронизируются с исходным состоянием диагностики CMD_DEPRECATED независимо от настройки этой политики. (Синхронизация происходит до того, как становится возможным управлять политиками.) Однако это поведение признано устаревшим и будет удалено в будущей версии CMake.

Любые сообщения об устаревании, появившиеся в CMake 4.4 или более поздних версиях, контролируются диагностикой CMD_DEPRECATED независимо от настройки этой политики.

Эта политика появилась в CMake версии 4.4. Её можно задать с помощью команды cmake_policy() или cmake_minimum_required(). Если она не задана, CMake выдаёт предупреждение при обращении к любой из этих переменных или её изменении и использует поведение OLD.

Примечание

Поведение OLD для политики по определению является устаревшим и может быть удалено в будущей версии CMake.

© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/policy/CMP0218.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API