Spec-Zone.ru › CMake

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/latest/policy/CMP0170.html

Spec-Zone.ru

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