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