QT_DEPLOY_QML_DIR

在特定目标平台部署 QML 插件的相对子目录。

此变量由名为 QT_DEPLOY_SUPPORT 的脚本定义。应仅在安装过程中或作为构建后规则的一部分部署时使用。

注意:这是一个低级别部署 API 变量,应仅在使用高级 API 命令未涵盖的高级用例中使用,如 qt_generate_deploy_app_script

此变量从 Qt 6.3 开始引入。

项目应在其部署脚本中使用 QT_DEPLOY_QML_DIR 以避免硬编码 QML 模块部署的特定目录。

QT_DEPLOY_QML_DIR 默认值为 qml。要更改 QT_DEPLOY_QML_DIR 的值,在包含 QT_DEPLOY_SUPPORT 之前在项目部署脚本中设置它。

QT_DEPLOY_QML_DIR 路径相对于 QT_DEPLOY_PREFIX

当将内容部署到 macOS 应用程序包时,此变量没有意义,不应用于此场景。Apple 的 macOS 应用程序包指南要求所有插件都部署到包内容下的 PlugIns 子目录中,所有其他非二进制文件通常应位于 Resources 子目录下。因此,QML 模块的不同部分需要部署到应用程序包内的不同位置。

示例

cmake_minimum_required(VERSION 3.16...3.22)
project(MyThings)

# The following CMAKE_INSTALL_*DIR variables are used to initialize their
# QT_DEPLOY_*_DIR counterparts.
set(CMAKE_INSTALL_BINDIR "mybindir")
set(CMAKE_INSTALL_LIBDIR "mylibdir")
set(CMAKE_INSTALL_LIBEXECDIR "mylibexecdir")

find_package(Qt6 REQUIRED COMPONENTS Core)
qt_standard_project_setup()

qt_add_executable(MyApp main.cpp)

set(deploy_script "${CMAKE_CURRENT_BINARY_DIR}/deploy_MyApp.cmake")
file(GENERATE OUTPUT ${deploy_script} CONTENT "

set(QT_DEPLOY_PLUGINS_DIR \"mypluginsdir\")
set(QT_DEPLOY_QML_DIR \"myqmldir\")
set(QT_DEPLOY_TRANSLATIONS_DIR \"i18n\")

include(\"${QT_DEPLOY_SUPPORT}\")

qt_deploy_runtime_dependencies(
    EXECUTABLE \"\${QT_DEPLOY_BIN_DIR}/$<TARGET_FILE_NAME:MyApp>\"
)")

install(SCRIPT ${deploy_script})

另请参阅:QT_DEPLOY_SUPPORTQT_DEPLOY_PREFIXQT_DEPLOY_BIN_DIRQT_DEPLOY_LIBEXEC_DIRQT_DEPLOY_LIB_DIRQT_DEPLOY_PLUGINS_DIRQT_DEPLOY_TRANSLATIONS_DIR

© 2024 Qt 公司版权所有。此处包含的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会发布的GNU 自由文档许可协议第 1.3 版许可的。Qt 及相关标志是芬兰的和/或全球其他地区 Qt 公司的商标。所有其他商标均为其各自所有者的财产。