デプロイメント
Qt の CMake デプロイメント API を使用して、デスクトップ用の Qt プロジェクトをデプロイします。この API は様々なターゲットプラットフォームをサポートしており、qt_generate_deploy_app_script() のドキュメントで確認できます。
デプロイプロセスは、プロジェクトがQt Widgets アプリケーションかQt Quick アプリケーションかによって異なります。Qt Quick アプリケーションだけをデプロイする場合でも、まずQt Widgets アプリケーションのデプロイについて読んで、プロセスを理解してください。
Qt Widgets アプリケーションのデプロイ
このセクションでは、単純な C++ Qt プロジェクトを例に、Qt Widgets アプリケーションをデプロイする方法を示します。
cmake_minimum_required(VERSION 3.16) project(MyApp VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 REQUIRED COMPONENTS Core) qt_standard_project_setup() qt_add_executable(MyApp main.cpp) target_link_libraries(MyApp PRIVATE Qt6::Core)
アプリケーションターゲットを適切な場所にインストールするように CMake に指示する必要があります。macOS では、バンドルは${CMAKE_INSTALL_PREFIX}
に直接インストールされ、他のプラットフォームでは"bin"
ディレクトリの下にインストールされます。
install(TARGETS MyApp BUNDLE DESTINATION . RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )
qt_standard_project_setup()は、CMakeのGNUInstallDirs.cmake
。これはCMAKE_INSTALL_BINDIR
変数を定義するものです。
また、デプロイスクリプトを生成する必要があります。デプロイメントスクリプトは、インストール時に実行されるCMakeコードです。このコードは実行時の依存関係を収集し、インストールディレクトリにコピーします。
qt_generate_deploy_app_script( TARGET MyApp OUTPUT_SCRIPT deploy_script NO_UNSUPPORTED_PLATFORM_ERROR ) install(SCRIPT ${deploy_script})
qt_generate_deploy_app_script()コマンドは、ビルドディレクトリにデプロイスクリプトを生成します。生成されたスクリプトファイルのファイル名は、deploy_script
変数に格納されます。install(SCRIPT)
呼び出しは、インストール時にスクリプトを実行するように CMake に指示します。
このプロジェクトは、他の CMake ベースのプロジェクトと同様に、cmake --install .
またはninja install
を使用してインストールできます。インストール後、インストール・ディレクトリには、アプリケーションの実行に必要な共有ライブラリとアセットが含まれます。言い換えれば、インストールによって自己完結型のディレクトリが作成され、例えばcpack
などでパッケージ化する準備が整います。
Qt Quick アプリケーションのデプロイ
Qt Quick プロジェクトをデプロイするには、デプロイスクリプトを生成する別のコマンドが必要です。その他の手順は、Qt Widgets アプリケーションのデプロイと同様です。
まず、Qt Quick アプリケーションを作成します。
cmake_minimum_required(VERSION 3.16) project(MyApp VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 REQUIRED COMPONENTS Core) qt_standard_project_setup() qt_add_executable(MyApp main.cpp) qt_add_qml_module(MyApp URI Application VERSION 1.0 QML_FILES main.qml MyThing.qml )
先ほどと同様にアプリケーションをインストールします。
install(TARGETS MyApp BUNDLE DESTINATION . RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )
デプロイスクリプトを生成するには、qt_ generate_deploy_app_ script() の代わりにqt_generate_deploy_qml_app_script() を呼び出します。
qt_generate_deploy_qml_app_script( TARGET MyApp OUTPUT_SCRIPT deploy_script ) install(SCRIPT ${deploy_script})
インストール時に、QMLファイル、プロジェクトで使用されるQtの共有ライブラリやアセットを含むアプリケーションバイナリがデプロイされます。この場合も、出来上がったディレクトリは自己完結しており、cpack
のようなツールでパッケージ化することができます。
© 2025 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.