CMP0163
Добавлено в версии 3.30.
Теперь свойство исходного файла GENERATED видно во всех каталогах.
В CMake 3.29 и более ранних версиях свойство исходного файла GENERATED, как и другие свойства исходных файлов, имело отдельную область действия в каждом каталоге. Хотя политика CMP0118 позволяла использовать исходные файлы, помеченные как GENERATED в одном каталоге, в других каталогах без необходимости помечать их как GENERATED повторно, свойство GENERATED всё ещё было недоступно для вызовов get_property() и get_source_file_property().
Принадлежность исходного файла к сгенерированным — это глобальное свойство источника, которое действует по принципу «всё или ничего»: исходный файл либо сгенерирован, либо нет. В CMake 3.30 и более поздних версиях предпочтительно считать свойство исходного файла GENERATED глобальным. После установки в одном каталоге оно сразу становится доступным для вызовов get_property() и get_source_file_property() в других каталогах. Эта политика обеспечивает совместимость с проектами, которые ещё не были обновлены для поддержки такого поведения.
Поведение OLD этой политики предусматривает, что свойство исходного файла GENERATED видно только в каталогах, в которых оно установлено. Поведение NEW этой политики позволяет свойству исходного файла GENERATED быть видимым во всех каталогах после установки в любом из них. Кроме того, поведение NEW этой политики подразумевает поведение NEW политики CMP0118: свойству GENERATED можно присваивать только логические значения, и его нельзя отключить после включения.
Эта политика была введена в CMake версии 3.30. Её можно задать с помощью cmake_policy() или cmake_minimum_required(). Если она не задана, CMake не выводит предупреждение и использует поведение OLD.
Примечание
Поведение OLD политики по определению является устаревшим и может быть удалено в будущей версии CMake.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/policy/CMP0163.html