デプロイメント
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
のようなツールでパッケージ化することができます。
©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。