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