CMake 变量参考
Qt 编译变量
在构建 Qt 时,您可以使用 CMake 变量来控制构建结果。
变量 | 描述 |
---|---|
QT_HOST_PATH | 主机 Qt 安装的位置,在构建另一个 Qt 项目(无论是常规的还是交叉编译的)时,可能会从中使用主机工具。 |
QT_FORCE_BUILD_TOOLS | 即使已经找到主机工具,也强制构建工具。当交叉编译 Qt 以确保 SDK 有交叉构建的工具时很有用。 |
QT_FORCE_FIND_TOOLS | 在您不进行交叉编译的情况下,使用位于 QT_HOST_PATH 的预构建 Qt 中的 Qt 工具。只有当 QT_FORCE_BUILD_TOOLS 设置为 ON 时,此变量才生效。否则,QT_FORCE_FIND_TOOLS 不影响默认行为。 |
模块变量
使用 find_package
加载的 Qt 模块设置各种变量。
注意:您很少需要直接访问这些变量。通常,像链接模块的常见任务应该通过每个模块定义的库目标来完成。
例如,当 find_package(Qt6 COMPONENTS Widgets)
成功时,以下变量将可用:
变量 | 描述 |
---|---|
Qt6Widgets_COMPILE_DEFINITIONS | 用于构建库的编译定义列表。 |
Qt6Widgets_DEFINITIONS | 用于构建库的定义列表。 |
Qt6Widgets_EXECUTABLE_COMPILE_FLAGS | 构建库的可执行文件时使用的标志字符串。 |
Qt6Widgets_FOUND | 一个布尔值,表示是否成功找到模块。 |
Qt6Widgets_INCLUDE_DIRS | 构建库时使用的包含目录列表。 |
Qt6Widgets_LIBRARIES | 模块的导入目标名称: Qt6::Widgets |
Qt6Widgets_PRIVATE_INCLUDE_DIRS | 构建库时使用私有 Qt API 的私有包含目录列表。 |
Qt6Widgets_VERSION | 包含模块版本的字符串。 |
对于使用 find_package
发现的所有包,都提供了这些变量的等效变量;它们是大小写敏感的。
安装变量
此外,还有一些与特定包无关,但与 Qt 安装本身有关的变量。
变量 | 描述 |
---|---|
| 一个整数,它控制混合 Qt 5 和 Qt 6 项目的 qt_ 命令将转发的 Qt 版本。在相应的 find_package() 调用之前需要将其设置为 5 或 6 。如果设置为 如果没有设置,则第一个 |
QT_LIBINFIX | 用于库名称中后缀的字符串,当Qt配置使用-libinfix 时。 |
| 隐藏以qt_ 开头的命令,只留下以qt6_ 开头带有版本号的命令。 |
| 隐藏以Qt:: 开头导入的目标。相反,您需要使用以Qt6:: 开头的目标。 |
QT_VISIBILITY_AVAILABLE | 在Unix上,一个布尔值,描述Qt库和插件是否是用-fvisibility=hidden 编译的。这意味着只有选定符号被导出。 |
项目变量
这些变量可以影响Qt提供的CMake命令。它们可以被项目、工具链文件或其他第三方包设置。
Qt6::Core
主机系统的Android特定架构 | |
Android SDK的位置 | |
项目打包编译的 ABI 列表 | |
要传递给Android应用程序的参数列表 | |
启用使用自动检测的Qt for Android SDK列表构建多ABI包 | |
强制或禁用无论构建类型如何都进行发布包签名 | |
允许多ABI构建中共享CMake变量 | |
使用指定的密钥库、别名和存储密码对.aab包进行签名 | |
使用指定的密钥库、别名和存储密码对包进行签名 | |
在某些目标平台上部署运行时二进制文件的基相对子目录 | |
在运行时依赖关系搜索中排除的目录 | |
在某些目标平台上部署程序可执行文件的基相对子目录 | |
在某些目标平台上部署库的基相对子目录 | |
在某些目标平台上部署Qt插件的基相对子目录 | |
部署的基位置 | |
在某些目标平台上部署QML插件的基相对子目录 | |
用于设置部署支持的文件名 | |
在某些目标平台上部署Qt翻译的基相对子目录 | |
启用部署工具的详细模式 | |
交叉编译时的主机Qt安装位置 | |
指定可翻译字符串的语言 | |
用于项目国际化的语言列表 | |
用于所有目标的所有iOS启动屏幕storyboard的路径 | |
防止在Android部署期间收集项目构建的共享库目标 | |
防止在Android部署期间收集导入的目标 | |
在iOS目标最终化期间禁用提供回退应用包ID | |
在iOS目标最终化期间禁用提供回退团队ID | |
防止后续调用qt_standard_project_setup()造成任何更改 | |
用于指定针对相应ABI的Qt for Android路径的变量集合 |
Qt6::Qml
为QML语言服务器启用自动生成.qmlls.ini文件 | |
基本输出目录,默认情况下将在此目录下创建 QML 模块 |
Qt6::InterfaceFramework
启用所有 ifcodegen 函数的详细记录功能 | |
ifcodegen 模板的搜索路径 |
© 2024 Qt 公司。此处包含的文档贡献为其各自所有者的版权。在此提供的文档依据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款提供许可。Qt 和相应的商标是芬兰以及全球其他地区的 Qt 公司的商标。所有其他商标均为各自所有者的财产。