このページでは

qt_generate_deploy_script

カスタムデプロイスクリプトを生成します。

このコマンドは、Qt6 パッケージのCore コンポーネントで定義されており、次のように読み込むことができます:

find_package(Qt6 REQUIRED COMPONENTS Core)

このコマンドは Qt 6.5 で導入されました。

概要

qt_generate_deploy_script(
    OUTPUT_SCRIPT <var>
    [TARGET target]
    [NAME script_name]
    [CONTENT content]
)

バージョン指定なしのコマンドが無効になっている場合は、代わりにqt6_generate_deploy_script() を使用してください。このコマンドと同じ引数セットをサポートしています。

説明

このコマンドは、OUTPUT_SCRIPT オプションで指定された変数に完全なファイルパスが格納されるスクリプトを生成します。このスクリプトは、CMakeの生成時にのみ書き込まれます。これは、install(TARGETS)を使用してアプリケーションのターゲットがインストールされた後に実行される install( SCRIPT)コマンドと併用することを想定しています。

このコマンドは、マルチコンフィグジェネレータに適した名前でファイルを生成します。QtのCMakeデプロイメント関数や変数にアクセスできるよう、必要なインクルードが追加されます。

TARGET 引数は、スクリプトによってデプロイされるターゲットを指定します。NAME が指定されていない限り、これは生成されるスクリプトのファイル名に影響します。

NAME 引数は、デプロイメントスクリプトの自動生成された名前の中で識別可能な部分を制御します。NAME 引数は、NAME もTARGET も指定されていない場合、デフォルトでcustom となります。

CONTENT 引数は、デプロイメントスクリプトに記述されるコードを指定します。内容にはジェネレータ式を含めることができます。

注: バージョン指定のないqt_generate_deploy_scriptコマンドを使用する場合 、QTP0008 が NEW に設定されている場合にのみ、内容に含まれるエスケープシーケンスおよび${var} への参照が、変更されることなく生成されたスクリプトに反映されます。OLD の動作では、引数が転送される一方でこれらは呼び出し場所で評価されるため、スクリプトの実行時に展開されるはずのQT_DEPLOY_* 参照が、代わりにconfigure時に展開されてしまい、空の値になってしまいます。qt6_generate_deploy_script() を直接呼び出すことで、この問題を回避できます。

このコマンドは、QtのデプロイメントAPIの関数を直接呼び出すカスタムデプロイメントスクリプトを生成することを目的としています。それほど複雑ではないデプロイメントの目的では、qt_generate_deploy_app_script()またはqt_generate_deploy_qml_app_script() を使用する方が便利です。

例

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

find_package(Qt6 REQUIRED COMPONENTS Core)
qt_standard_project_setup()

qt_add_executable(MyApp main.cpp)

install(TARGETS MyApp
    BUNDLE  DESTINATION .
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

qt_generate_deploy_script(
    TARGET MyApp
    OUTPUT_SCRIPT deploy_script
    CONTENT "
qt_deploy_runtime_dependencies(
    EXECUTABLE $<TARGET_FILE:MyApp>
)
")
install(SCRIPT ${deploy_script})

qt_generate_deploy_app_script()、qt_generate_deploy_qml_app_script()、およびQTP0008も参照してください 。

© 2026 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.