qt_finalize_target
处理与 Qt 目标相关的各种常见平台特定任务。
该命令定义在 Qt6 包的 Core
组件中,可以像这样加载:
find_package(Qt6 REQUIRED COMPONENTS Core)
此命令自 Qt 6.2 开始引入。
摘要
qt_finalize_target(target)
如果禁用 无版本命令,则请使用 qt6_finalize_target()
代替。它支持与本命令相同的参数集。
描述
在创建目标之后,有时需要执行进一步的 最终化 步骤。这些步骤取决于平台、目标类型以及目标的各种属性。预期这些步骤将在此目录作用域内执行,因此此命令也应从同一目录作用域调用。
此命令通常在调用 qt_add_executable()、qt_add_library() 或 qt_add_plugin() 时调用。有关该调用何时发生以及何时可能需要显式调用的文档已有讨论。
可执行目标
对于可执行目标,qt_finalize_target()
实现将以下子节中描述的逻辑实现,适用于提供的平台和目标。Qt 的后续版本可能进一步扩展最终化处理。
所有平台
执行某些内部处理,以方便自动链接 Qt 插件。如果使用静态构建的 Qt 或 CMake 版本早于 3.21,这尤其重要。
Android
- 为
target
生成部署设置文件。 - 为生成 APK 创建构建目标。
WASM
在 CMAKE_CURRENT_BINARY_DIR
中创建 ${target}.html
(特定目标的 wasm_shell.html
文件)、qtloader.js
和 qtlogo.svg
文件。
iOS
如果尚未设置以下目标属性,并相应的 CMAKE_...
变量也未设置,则尝试为以下属性提供合理的值:
XCODE_ATTRIBUTE_DEVELOPMENT_TEAM
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER
MACOSX_BUNDLE_GUI_IDENTIFIER
如有需要,可以使用QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID变量来禁用设置XCODE_ATTRIBUTE_DEVELOPMENT_TEAM
,以及使用QT_NO_SET_XCODE_BUNDLE_IDENTIFIER变量来禁用设置XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER
和MACOSX_BUNDLE_GUI_IDENTIFIER
。
库目标
截至此Qt版本,库目标的最终化不执行任何处理。未来的Qt版本可能会为库添加最终化处理,因此您应确保最终化仍然以预期方式进行。
© 2024 Qt公司有限公司。本文档的贡献权属于各自的所有者。本提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款授予许可证的。Qt及其相关标志是芬兰和/或世界其他国家的Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。