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