自动档¶
是否应使用 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>用于多配置生成器。
其中``<AUTOGEN_BUILD_DIR>`` 是目标属性的值:prop_tgt: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:此全局属性可用于在 IDE 中将 AUTOMOC、AUTOUIC 和 AUTORCC 目标组合在一起,例如在 MSVS 中。
CMAKE_GLOBAL_AUTOGEN_TARGET: 一个全局的``autogen``目标,它依赖于项目中所有的 AUTOMOC`或``AUTOUIC``生成的``<ORIGIN>_autogen``目标,将在这个变量是 ``ON`。
AUTOGEN_PARALLEL:此目标属性控制在构建期间并行启动的 moc 或 uic 进程的数量。
有关在 Qt 中使用 CMake 的更多信息,请参阅 cmake-qt(7) 手册。