Rendre Qt disponible dans les projets CMake
Actuellement, la seule méthode supportée pour rendre Qt disponible pour les projets des utilisateurs est de l'avoir préinstallé sur le système, ou toute autre méthode équivalente qui construit Qt à l'avance et le rend disponible pour les projets CMake. find_packageIl est également possible d'utiliser des projets CMake, tels que vcpkg.
Lors de l'utilisation de Qt Creator ou qt-cmake (qt-cmake.bat sous Windows), l'emplacement d'installation de Qt Location est automatiquement transmis à l'appel CMake sous-jacent.
Lorsque vous utilisez directement cmake, les chemins de recherche généraux utilisés par CMake devraient couvrir la plupart des installations de Qt par des non-utilisateurs. Pour mieux contrôler le paquetage Qt à utiliser, vous pouvez passer https://cmake.org/cmake/help/latest/variable/PackageName_ROOT.html Qt6_ROOT en tant que variable d'environnement ou de cache pointant vers le chemin d'installation de Qt, ou en ajoutant ou en annexant à CMAKE_PREFIX_PATH d'une manière similaire. Par exemple, si le chemin d'installation est "~/Qt/6.11.0/gcc_64", vous devez le passer sur la ligne de commande sous la forme -DQt6_ROOT=$HOME/Qt/6.11.0/gcc_64.
Remarque : lors de la compilation croisée (compilation pour une plateforme autre que celle sur laquelle vous vous trouvez, comme WebAssembly ou Android) et lors de l'utilisation de vanilla cmake, définissez CMAKE_TOOLCHAIN_FILE au lieu de chemins de recherche tels que Qt6_ROOT ou CMAKE_PREFIX_PATH. Sous Linux, le fichier de la chaîne d'outils (spécifique à une plateforme cible particulière) est généralement situé dans un chemin similaire à celui-ci : "~/Qt/6.11.0/wasm_singlethread/lib/cmake/Qt6/qt.toolchain.cmake". Il définit les variables requises telles que CMAKE_PREFIX_PATH, CMAKE_FIND_ROOT_PATH, et QT_HOST_PATH.
cmake_minimum_required(VERSION 3.16) project(helloworld) find_package(Qt6 REQUIRED)
Le paquetage Qt est divisé en plusieurs modules que vous devez inclure en fonction de la portée de votre projet.
find_package(Qt6 REQUIRED COMPONENTS Core)
CMake moderne prend en charge d'autres fournisseurs de dépendances tels que FetchContent, mais l'utilisation de Qt avec FetchContent n'est pas prise en charge en raison de l'intégration étroite des fonctionnalités de Qt dans CMake lui-même. L'ajout de sources Qt via add_subdirectory et les sous-modules Git n'est pas non plus pris en charge.
Note : Appeler find_package(Qt6) dans un sous-répertoire autre que celui où il est utilisé, ou à l'intérieur d'un function n'est pas supporté. Cela peut entraîner diverses défaillances à des endroits imprévisibles.
Au lieu de cela, appelez plusieurs fois find_package(Qt6) dans toutes les portées de sous-répertoire qui utilisent des fonctions Qt XML, ou déplacez l'appel find_package(Qt6) à la racine CMakeLists.txt.
© 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.