Déploiement
Utilisez l'API de déploiement CMake de Qt pour déployer des projets Qt sur des plateformes de bureau. L'API prend en charge diverses plateformes cibles, que vous pouvez consulter dans la documentation relative à la fonction qt_generate_deploy_app_script().
Le processus de déploiement dépend du type de votre projet : application « Qt Widgets » ou « Qt Quick ». Même si vous prévoyez de ne déployer que des applications « Qt Quick », lisez d’abord la section consacrée au déploiement des applications « Qt Widgets » afin de bien comprendre le processus.
Déploiement d’une application Qt Widgets
Cette section explique comment déployer une application Qt Widgets à l’aide d’un exemple de projet C++ Qt simple.
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)Vous devez indiquer à CMake d’installer la cible de l’application à l’emplacement approprié. Sous macOS, les bundles sont installés directement dans le répertoire ${CMAKE_INSTALL_PREFIX}; sur les autres plateformes, ils sont installés dans le répertoire "bin" situé à ce niveau.
install(TARGETS MyApp
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)Notez que la fonction ` qt_standard_project_setup() ` importe le fichier ` GNUInstallDirs.cmake` de CMake. C’est ce qui définit la variable ` CMAKE_INSTALL_BINDIR `.
Vous devez également générer un script de déploiement. Un script de déploiement est un code CMake qui s'exécute au moment de l'installation. Ce code se charge de rassembler les dépendances d'exécution et de les copier dans le répertoire d'installation.
qt_generate_deploy_app_script(
TARGET MyApp
OUTPUT_SCRIPT deploy_script
NO_UNSUPPORTED_PLATFORM_ERROR
)
install(SCRIPT ${deploy_script})La commande qt_generate_deploy_app_script() génère le script de déploiement dans le répertoire de compilation. Le nom du fichier de script généré est stocké dans la variable deploy_script. L’appel install(SCRIPT) indique à CMake d’exécuter le script lors de l’installation.
Le projet peut être installé à l’aide de ` cmake --install . ` ou ` ninja install `, comme n’importe quel autre projet basé sur CMake. Une fois l’installation terminée, le répertoire d’installation contient les bibliothèques partagées et les ressources nécessaires au fonctionnement de l’application. En d’autres termes, l’installation produit un répertoire autonome, prêt à être packagé — par exemple à l’aide de ` cpack`.
Déploiement d’une application Qt Quick
Le déploiement d’un projet Qt Quick nécessite une commande différente pour générer le script de déploiement. Les étapes suivantes sont similaires à celles du déploiement d’une application Qt Widgets.
Commencez par créer l’ 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
)Vous installez l'application comme précédemment.
install(TARGETS MyApp
BUNDLE DESTINATION .
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)Pour générer le script de déploiement, vous appelez qt_generate_deploy_qml_app_script() au lieu de qt_generate_deploy_app_script().
qt_generate_deploy_qml_app_script(
TARGET MyApp
OUTPUT_SCRIPT deploy_script
)
install(SCRIPT ${deploy_script})Lors de l’installation, le binaire de l’application sera déployé, y compris les fichiers QML ainsi que les bibliothèques partagées et les ressources de Qt utilisées par le projet. Là encore, le répertoire résultant est autonome et peut être packagé à l’aide d’outils tels que cpack.
© 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.