QT_DEPLOY_LIBEXEC_DIR

针对某些目标平台部署程序可执行文件的相对子目录。

该变量由名为 QT_DEPLOY_SUPPORT 的脚本定义。它应仅作为安装或构建后规则的部署部分使用。

注意:这是一个低级部署 API 变量,应仅在高级使用场景中使用,这些场景未由高级 API 命令覆盖,例如 qt_generate_deploy_app_script

此变量自 Qt 6.7 以来已引入。

在 Unix 衍生版上,项目应在它们的部署脚本中使用 QT_DEPLOY_LIBEXEC_DIR 以避免在部署本地项目辅助可执行文件时硬编码特定目录。

例如,使用 QtWebEngine 的项目会将 QtWebEngineProcess 可执行文件部署到此目录。

QT_DEPLOY_LIBEXEC_DIR 默认为 ${CMAKE_INSTALL_LIBEXECDIR} 的值(通常是 libexec),它由 CMake 的 GNUInstallDirs 模块提供。要更改 QT_DEPLOY_LIBEXEC_DIR 的值,确保在找到 Core 包之前项目设置了 CMAKE_INSTALL_LIBEXECDIR

QT_DEPLOY_LIBEXEC_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_SUPPORTQT_DEPLOY_PREFIXQT_DEPLOY_BIN_DIRQT_DEPLOY_LIB_DIRQT_DEPLOY_PLUGINS_DIRQT_DEPLOY_QML_DIRQT_DEPLOY_TRANSLATIONS_DIR

© 2024 Qt 公司 LTD。本文件中包含的文档贡献均为其所有者的版权。本文件提供的文档根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款获得许可。Qt 和相应的标志是芬兰和/或世界其他地区的 The Qt Company Ltd. 的商标。所有其他商标均为其各自所有者的财产。