QT_DEPLOY_LIB_DIR
在某些目标平台上部署库的相对子目录。
该变量由名为 QT_DEPLOY_SUPPORT 的脚本来定义。它应在安装或后构建规则期间部署的部分中使用。
注意:这是一个底层部署 API 变量,只能在高层 API 命令未覆盖的复杂用例中使用,例如 qt_generate_deploy_app_script。
此变量自 Qt 6.3 起引入。
项目应在其部署脚本中使用 QT_DEPLOY_LIB_DIR,以避免硬编码特定的目录部署以下类型的二进制文件:
- 除 Windows 以外的平台上的共享库。
- Windows 上的导入库。
QT_DEPLOY_LIB_DIR 的默认值是 ${CMAKE_INSTALL_LIBDIR} 的值(通常是 lib 或 lib64),这是由 CMake 的 GNUInstallDirs 模块提供的。为了更改 QT_DEPLOY_LIB_DIR 的值,确保在找到 Core 软件包之前,项目已设置 CMAKE_INSTALL_LIBDIR。
QT_DEPLOY_LIB_DIR 路径相对于 QT_DEPLOY_PREFIX。
当部署到 macOS 应用程序包时,此变量没有意义,不应在此场景中使用。
示例
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_SUPPORT、QT_DEPLOY_PREFIX、QT_DEPLOY_BIN_DIR、QT_DEPLOY_PLUGINS_DIR、QT_DEPLOY_QML_DIR 和 QT_DEPLOY_TRANSLATIONS_DIR。
© 2024 Qt 公司有限公司。括号内包含的文档贡献是各自所有者的版权。此处提供的文档根据自由软件基金会的发布许可的条款(GNU 自由文档许可证版本 1.3)进行许可。Qt 以及相应的商标是芬兰的 Qt 公司在芬兰和其他国家的商标。所有其他商标归其各自所有者所有。