Spec-Zone.ru › CMake 3.31

CMP0170

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

Когда FETCHCONTENT_FULLY_DISCONNECTED установлено в значение true, FetchContent_MakeAvailable() и FetchContent_Populate() применяют ограничение, что их исходный каталог должен быть уже заполнен. Требование всегда документировалось, но с CMake 3.29 и более ранними версиями оно не проверялось или не применялось. Это иногда приводило к трудноотслеживаемым ошибкам, когда проект ожидал, что зависимость будет заполнена, но её заполнение пропустилось без уведомления.

CMake 3.30 и выше предпочитает проверять и применять ограничение. Данная политика обеспечивает совместимость для ситуаций, когда пользователь не может легко предотвратить FETCHCONTENT_FULLY_DISCONNECTED от ненадлежащего присвоения значения true.

Поведение OLD этой политики позволяет FETCHCONTENT_FULLY_DISCONNECTED быть установленным в значение true даже если каталог исходных файлов зависимости не заполнен. Поведение NEW прекращается с ошибкой fatal, если FETCHCONTENT_FULLY_DISCONNECTED установлено в значение true, и заполнение зависимости будет пропущено, но каталог исходных файлов этой зависимости не существует.

Данная политика была введена в версии CMake 3.30. Она может быть установлена с помощью cmake_policy() или cmake_minimum_required(). Если она не установлена, CMake предупреждает и использует поведение OLD.

Примечание

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

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

Spec-Zone.ru

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