Spec-Zone.ru › CMake 3.20

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, свойства целевого объекта AUTOGEN_SOURCE_GROUP, AUTOMOC_SOURCE_GROUP и AUTORCC_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.20/prop_sf/GENERATED.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API