Spec-Zone.ru › CMake 3.15

AUTOUIC

Должен ли целевой объект обрабатываться с помощью auto-uic (для проектов Qt)?

AUTOUIC — это булево значение, указывающее, будет ли CMake автоматически обрабатывать генератор кода Qt uic , то есть без необходимости использования макроса QT4_WRAP_UI() или QT5_WRAP_UI(). В настоящее время поддерживаются Qt4 и Qt5.

Это свойство инициализируется значением переменной CMAKE_AUTOUIC, если она установлена при создании целевого объекта.

Когда это свойство ON, CMake будет сканировать заголовочные и исходные файлы во время сборки и вызывать uic соответственно.

Обработка заголовочных и исходных файлов

Во время сборки CMake сканирует каждый заголовочный и исходный файл из исходных файлов целевого объекта на наличие директив включения в формате

#include "ui_<ui_base>.h"

После обнаружения такой директивы включения в файле CMake ищет файл uic ввода %%%CODE_BLOCK_9%%:

  • в окрестностях файла и
  • в AUTOUIC_SEARCH_PATHS целевого объекта.

Если файл <ui_base>.ui был найден, вызывается uic для генерации ui_<ui_base>.h в каталоге

  • <AUTOGEN_BUILD_DIR>/include для генераторов одноконфигурационных или в
  • <AUTOGEN_BUILD_DIR>/include_<CONFIG> для генераторов multi configuration.

Где <AUTOGEN_BUILD_DIR> — значение свойства целевого объекта AUTOGEN_BUILD_DIR.

Каталог включения автоматически добавляется в INCLUDE_DIRECTORIES целевого объекта.

Модификаторы

AUTOUIC_EXECUTABLE: uic исполняемый файл будет обнаружен автоматически, но может быть принудительно назначен определённому бинарнику с помощью этого свойства целевого объекта.

AUTOUIC_OPTIONS: Дополнительные параметры командной строки для uic можно задать с помощью этого свойства исходного файла для файла <base_name>.ui.

SKIP_AUTOUIC: Исходные файлы можно исключить из обработки AUTOUIC, установив это свойство исходного файла.

SKIP_AUTOGEN: Исходные файлы можно исключить из обработки AUTOMOC, AUTOUIC и AUTORCC, установив это свойство исходного файла.

AUTOGEN_TARGETS_FOLDER: Это глобальное свойство можно использовать для группирования целевых объектов AUTOMOC, AUTOUIC и AUTORCC в IDE, например, в MSVS.

CMAKE_GLOBAL_AUTOGEN_TARGET: Глобальный autogen целевой объект, зависящий от всех сгенерированных целевых объектов AUTOMOC или AUTOUIC в проекте, будет сгенерирован, когда эта переменная ON.

AUTOGEN_PARALLEL: Это свойство целевого объекта управляет количеством moc или uic процессов, которые запускаются параллельно во время сборки.

Дополнительную информацию о работе с CMake и Qt см. в руководстве cmake-qt(7).

© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.15/prop_tgt/AUTOUIC.html

Spec-Zone.ru

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