GENERATED
Является ли этот файл исходного кода сгенерированным в рамках процесса сборки или CMake.
Изменено в версии 3.20: Свойство GENERATED файла исходного кода теперь видно во всех каталогах.
Сообщает внутреннему движку CMake, что файл исходного кода генерируется внешним процессом, таким как другой этап сборки или выполнение самого CMake. Эта информация используется для исключения файла из проверок существования и корректности.
Любой файл, который
- создается выполнением команд, таких как
add_custom_command()иfile(GENERATE) - перечислен как один из
BYPRODUCTSкомандыadd_custom_command()илиadd_custom_target(), или - создаётся операцией CMake
AUTOGEN, такой какAUTOMOC,AUTORCCилиAUTOUIC
будет помечен свойством GENERATED.
Когда сгенерированный файл, созданный как OUTPUT команды add_custom_command(), явно перечислен как файл исходного кода для любого целевого объекта в том же объёме каталога (что обычно означает тот же файл CMakeLists.txt), CMake автоматически создаст зависимость, чтобы убедиться, что файл сгенерирован до построения этого целевого объекта.
Генераторы Makefile удалят файлы GENERATED во время make clean.
Сгенерированные исходные файлы могут быть скрыты в некоторых инструментах IDE, а в других они могут отображаться. В особых случаях, когда исходные файлы сгенерированы функциями CMake AUTOMOC, AUTORCC или AUTOUIC, свойства целевых объектов AUTOGEN_SOURCE_GROUP, AUTOMOC_SOURCE_GROUP, AUTORCC_SOURCE_GROUP и AUTOUIC_SOURCE_GROUP могут влиять на то, где сгруппированы сгенерированные исходные файлы в списках файлов проекта.
Примечание
Начиная с CMake 3.20 свойство файла исходного кода GENERATED может быть установлено и получено из любого каталога. Это свойство «всё или ничего». Его также больше нельзя удалить или сбросить, если он был установлен в значение TRUE. Политика CMP0118 была введена для поддержки поведения OLD в течение некоторого времени.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.23/prop_sf/GENERATED.html