CMP0118
Новое в версии 3.20.
GENERATED источники могут использоваться в разных директориях без ручного обозначения.
В CMake 3.19 и ниже свойство источника GENERATED, как и другие свойства файлов-источников, были ограничены каждой директорией отдельно. Если файл-источник был сгенерирован в одной директории, проектам приходилось вручную устанавливать свойство GENERATED в другой директории, чтобы использовать этот файл.
То, сгенерирован ли файл-источник или нет, является глобальным свойством источника «всё или ничего»: источник либо сгенерирован, либо нет. CMake 3.20 и выше предпочитают, чтобы файлы-источники, сгенерированные в одной директории, могли использоваться в других директориях без ручного их обозначения как GENERATED. Кроме того, свойство GENERATED теперь можно устанавливать только для логических значений и нельзя отключить, после того как оно было включено. Данная политика обеспечивает совместимость для проектов, которые не были обновлены для этого поведения.
Поведение OLD этой политики заключается в том, что разрешено использование сгенерированных файлов только в тех директориях, в которых включено их свойство GENERATED. Поведение NEW этой политики заключается в том, что разрешено использование сгенерированных файлов в других директориях без явного включения свойства GENERATED для этих директорий.
Новое в версии 3.30: Политика CMP0163 дополнительно делает свойство файла-источника GENERATED видимым для вызовов get_property() и get_source_file_property() в других директориях.
Данная политика была введена в CMake версии 3.20. Она может быть установлена с помощью cmake_policy() или cmake_minimum_required(). Если она не установлена, CMake выдает предупреждение о настройке свойства GENERATED на значение, отличное от логического, и использует поведение 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/CMP0118.html