AUTOUIC
Должен ли целевой объект обрабатываться с помощью auto-uic (для проектов Qt)?
AUTOUIC — это булево значение, определяющее, будет ли CMake обрабатывать генератор кода Qt uic автоматически, т. е. без необходимости использования команд, таких как QT4_WRAP_UI(), qt5_wrap_ui() и т. д. В настоящее время поддерживаются версии Qt с 4 по 6.
Это свойство инициализируется значением переменной CMAKE_AUTOUIC, если она установлена при создании целевого объекта.
Когда это свойство ON, CMake будет сканировать заголовочные и исходные файлы во время сборки и вызывать uic соответственно.
Обработка заголовочных и исходных файлов
Во время сборки CMake сканирует каждый заголовочный и исходный файл из источников целевого объекта в поисках инструкций включения в виде
#include "ui_<ui_base>.h"
После обнаружения такой инструкции включения в файле CMake ищет файл uic входного файла <ui_base>.ui
- в окрестностях файла и
- в пути поиска
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 могут быть заданы с помощью этого свойства целевого объекта. Соответствующее свойство исходного файла AUTOUIC_OPTIONS может использоваться для задания параметров, которые применяются только к определённому файлу <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 процессов, которые необходимо запустить параллельно во время сборки.
AUTOGEN_COMMAND_LINE_LENGTH_MAX: Это свойство целевого объекта контролирует предел, при котором необходимо использовать файлы ответов для moc или uic процессов в Windows.
Дополнительная информация об использовании CMake с Qt содержится в руководстве cmake-qt(7).
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/prop_tgt/AUTOUIC.html