AUTOUIC
Должен ли целевой объект обрабатываться с помощью авто-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 входной файл <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 можно задать через свойство файла исходного кода для файла <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(7) для получения дополнительной информации об использовании CMake с Qt.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.16/prop_tgt/AUTOUIC.html