AUTOUIC
Должен ли целевой объект обрабатываться с помощью autouic (для проектов Qt)?
AUTOUIC — это булево значение, определяющее, будет ли CMake обрабатывать генератор кода Qt uic автоматически, т. е. без необходимости использования макроса QT4_WRAP_UI() или QT5_WRAP_UI(). В настоящее время поддерживаются Qt4 и Qt5.
Когда эта свойство ON, CMake будет сканировать исходные файлы во время сборки и вызывать uic соответственно. Если в source.cpp встретится оператор #include типа #include "ui_foo.h", будет сначала просматриваться файл foo.ui в окрестности source.cpp, а затем в необязательном AUTOUIC_SEARCH_PATHS целевого объекта. uic выполняется с файлом foo.ui для генерации ui_foo.h в каталоге <AUTOGEN_BUILD_DIR>/include, который автоматически добавляется в INCLUDE_DIRECTORIES целевого объекта.
- Для
multi configuration generatorsкаталог включаемых файлов —<AUTOGEN_BUILD_DIR>/include_<CONFIG>. - См.
AUTOGEN_BUILD_DIR.
Это свойство инициализируется значением переменной CMAKE_AUTOUIC, если она установлена при создании целевого объекта.
Дополнительные параметры командной строки для uic можно установить через свойство файла исходного кода AUTOUIC_OPTIONS файла foo.ui. Глобальное свойство AUTOGEN_TARGETS_FOLDER можно использовать для группирования целевых объектов autouic вместе в интегрированной среде разработки, например, в MSVS.
Исполняемый файл uic будет обнаружен автоматически, но может быть принудительно назначен определённому исполняемому файлу с помощью свойства AUTOUIC_EXECUTABLE.
Исходные файлы можно исключить из обработки AUTOUIC, включив SKIP_AUTOUIC или более широкое SKIP_AUTOGEN.
Количество параллельных процессов uic можно изменить, установив AUTOGEN_PARALLEL.
Глобальный целевой объект autogen, зависящий от всех сгенерированных <ORIGIN>_autogen целевых объектов AUTOUIC в проекте, может быть сгенерирован, включив CMAKE_GLOBAL_AUTOGEN_TARGET.
См. руководство cmake-qt(7) для получения дополнительной информации об использовании CMake с Qt.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.14/prop_tgt/AUTOUIC.html