Spec-Zone.ru › CMake 3.24

CMP0102

Новое в версии 3.17.

Команда mark_as_advanced() больше не создаёт запись кэша, если она не существует.

В CMake 3.16 и ниже, если переменная вообще не была определена или была определена только локально, команда mark_as_advanced() создавала новую запись кэша типа UNINITIALIZED и без значения. Когда впоследствии выполнялась команда find_path() (или другая аналогичная команда find_), она находила эту неопределённую запись кэша и устанавливала для неё значение пустой строки. Этот процесс в итоге удалял локальную переменную (из-за работы кэша), эффективно очищая любые сохранённые find_ результаты, доступные только в локальной области видимости.

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

Данная политика была добавлена в CMake версии 3.17. Используйте команду cmake_policy(), чтобы явно установить её в OLD или NEW. В отличие от многих политик, CMake версии 3.24.2 не выдаёт предупреждение, если эта политика не установлена, а просто использует поведение OLD. См. документацию переменной CMAKE_POLICY_WARNING_CMP0102 для управления предупреждениями.

Примечание

Поведение по умолчанию этой политики — deprecated by definition и может быть удалено в будущих версиях CMake.

© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/policy/CMP0102.html

Spec-Zone.ru

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