GENERATED
Является ли этот файл исходного кода сгенерированным в ходе сборки или процесса CMake.
Изменено в версии 3.20: Свойство GENERATED файла исходного кода теперь отображается во всех директориях.
Уведомляет внутренний движок CMake о том, что файл исходного кода сгенерирован внешним процессом, например, другим этапом сборки или самим CMake. Эта информация используется для исключения файла из проверок существования и корректности.
Любой файл, который
- создан с помощью команд, таких как
add_custom_command()иfile(GENERATE) - указан как один из
BYPRODUCTSкомандыadd_custom_command()илиadd_custom_target(), или - создан операцией CMake, такой как
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–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.22/prop_sf/GENERATED.html