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 политики 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/CMP0163.html