QT_DEPLOY_QML_DIR

Prefix-relative subdirectory for deploying QML plugins on some target platforms.

This variable is defined by the script named by QT_DEPLOY_SUPPORT. It should only be used as part of deployment during installation or a post-build rule.

Note: This is a low-level deployment API variable, and should only be used in advanced use-cases that are not covered by the higher-level API commands, like qt_generate_deploy_app_script.

This variable was introduced in Qt 6.3.

Projects should use QT_DEPLOY_QML_DIR in their deploy scripts to avoid hard-coding a particular directory under which to deploy QML modules.

QT_DEPLOY_QML_DIR defaults to the value qml. To change the value of QT_DEPLOY_QML_DIR, set it in the project deployment script before QT_DEPLOY_SUPPORT is included.

The QT_DEPLOY_QML_DIR path is relative to QT_DEPLOY_PREFIX.

This variable is not meaningful when deploying into a macOS app bundle and should not be used for that scenario. Apple's macOS app bundle guidelines require all plugins to be deployed to the PlugIns subdirectory of the bundle contents, and all other non-binary files should generally be under the Resources subdirectory. The different parts of a QML module therefore need to be deployed to different locations within the app bundle.

Example

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})

See also QT_DEPLOY_SUPPORT, QT_DEPLOY_PREFIX, QT_DEPLOY_BIN_DIR, QT_DEPLOY_LIBEXEC_DIR, QT_DEPLOY_LIB_DIR, QT_DEPLOY_PLUGINS_DIR, and QT_DEPLOY_TRANSLATIONS_DIR.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.