GENERATED
Создан ли этот исходный файл в рамках процесса сборки или CMake.
Изменено в версии 3.20: Включение свойства исходного файла GENERATED в одном каталоге позволяет использовать связанный исходный файл в других каталогах без необходимости вручную задавать это свойство и для областей действия других каталогов. Кроме того, теперь ему можно присваивать только логические значения, и после включения его нельзя отключить. См. политику CMP0118.
Изменено в версии 3.30: Принадлежность исходного файла к созданным является глобальным свойством этого файла, которое не может иметь промежуточных состояний. Поэтому свойство исходного файла GENERATED теперь видно во всех каталогах. См. политику CMP0163.
Сообщает внутреннему механизму CMake, что исходный файл создаётся внешним процессом, например другим шагом сборки или самим CMake. Затем эта информация используется, чтобы исключить файл из всех проверок существования и допустимости.
Любой файл, который
- создаётся при выполнении таких команд, как
add_custom_command(), во время сборки; - указан в качестве одного из
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 могут влиять на то, в каких группах будут размещены созданные исходные файлы в списках файлов проекта.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_sf/GENERATED.html