- Qt 6.7
- Qt Core
- CMake Variables in Qt6 Core
- QT_DEPLOY_LIB_DIR
- Qt 6.7.0 Reference Documentation

# QT_DEPLOY_LIB_DIR

Prefix-relative subdirectory for deploying libraries 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.

This variable was introduced in Qt 6.3.

Projects should use `QT_DEPLOY_LIB_DIR` in their deploy scripts to avoid hard-coding a particular directory in which to deploy the following types of binaries:

- Shared libraries on platforms other than Windows.
- Import libraries on Windows.

`QT_DEPLOY_LIB_DIR` defaults to the value of `${CMAKE_INSTALL_LIBDIR}` (usually `lib` or `lib64`), which is provided by CMake's GNUInstallDirs module. To change the value of `QT_DEPLOY_LIB_DIR`, ensure that the project sets `CMAKE_INSTALL_LIBDIR` before the `Core` package is found.

The `QT_DEPLOY_LIB_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.

## Example

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

     set(CMAKE_INSTALL_BINDIR "mybindir")
     set(CMAKE_INSTALL_LIBDIR "mylibdir")

     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_PLUGINS_DIR, QT_DEPLOY_QML_DIR, and QT_DEPLOY_TRANSLATIONS_DIR.