CMake-Variablen-Referenz

Qt-Build-Variablen

Wenn Sie Qt bauen, können Sie CMake-Variablen verwenden, um das Bauergebnis zu kontrollieren.

VariableBeschreibung
QT_HOST_PATHOrt der Qt-Host-Installation, von dem aus Host-Tools während eines anderen Qt-Builds, entweder eines regulären oder eines Cross-Compiling-Builds, verwendet werden können.
QT_FORCE_BUILD_TOOLSErzwingt die Erstellung von Tools, auch wenn bereits Host-Tools gefunden wurden. Nützlich bei der Cross-Kompilierung von Qt, um sicherzustellen, dass das SDK über Cross-Built-Tools verfügt.
QT_FORCE_FIND_TOOLSVerwendet Qt-Werkzeuge aus dem vorgefertigten Qt in QT_HOST_PATH, wenn Sie nicht crosskompilieren. Die Variable wird nur wirksam, wenn QT_FORCE_BUILD_TOOLS auf ON gesetzt ist. Ansonsten hat QT_FORCE_FIND_TOOLS keinen Einfluss auf das Standardverhalten.

Modul-Variablen

Qt-Module, die mit find_package geladen werden, setzen verschiedene Variablen.

Hinweis: Sie müssen nur selten direkt auf diese Variablen zugreifen. Übliche Aufgaben wie das Linken gegen ein Modul sollten über die Bibliotheksziele erfolgen, die jedes Modul definiert.

Zum Beispiel macht find_package(Qt6 COMPONENTS Widgets) bei Erfolg die folgenden Variablen verfügbar:

VariableBeschreibung
Qt6Widgets_COMPILE_DEFINITIONSEine Liste von Kompilierdefinitionen, die beim Bauen gegen die Bibliothek zu verwenden sind.
Qt6Widgets_DEFINITIONSEine Liste von Definitionen, die bei der Erstellung gegen die Bibliothek verwendet werden sollen.
Qt6Widgets_EXECUTABLE_COMPILE_FLAGSEine Zeichenkette mit Flags, die bei der Erstellung von ausführbaren Dateien gegen die Bibliothek verwendet werden sollen.
Qt6Widgets_FOUNDEin boolescher Wert, der beschreibt, ob das Modul erfolgreich gefunden wurde.
Qt6Widgets_INCLUDE_DIRSEine Liste von Include-Verzeichnissen, die bei der Erstellung gegen die Bibliothek verwendet werden sollen.
Qt6Widgets_LIBRARIESDer Name des importierten Ziels für das Modul: Qt6::Widgets
Qt6Widgets_PRIVATE_INCLUDE_DIRSEine Liste privater Include-Verzeichnisse, die bei der Erstellung gegen die Bibliothek und bei der Verwendung der privaten Qt-API zu verwenden sind.
Qt6Widgets_VERSIONEine Zeichenkette, die die Version des Moduls enthält.

Für alle Pakete, die mit find_package gefunden werden, sind Äquivalente dieser Variablen verfügbar; sie unterscheiden zwischen Groß- und Kleinschreibung.

Installationsvariablen

Zusätzlich gibt es auch Variablen, die sich nicht auf ein bestimmtes Paket beziehen, sondern auf die Qt-Installation selbst.

VariableBeschreibung

QT_DEFAULT_MAJOR_VERSION

Eine ganze Zahl, die die Qt-Version steuert, zu der die qt_ -Befehle im Falle von gemischten Qt 5- und Qt 6-Projekten weiterleiten. Sie muss entweder auf 5 oder 6 gesetzt werden, bevor die entsprechenden find_package() Aufrufe erfolgen.

Wenn sie auf 5 gesetzt wird, rufen Befehle, die mit qt_ beginnen, ihr Gegenstück ab qt5_ auf. Wenn sie auf 6 gesetzt wird, rufen sie ihr Gegenstück ab qt6_ auf.

Ist dieser Wert nicht gesetzt, definiert der erste Aufruf von find_package die Standardversion.

QT_LIBINFIXEine Zeichenkette, die das in Bibliotheksnamen verwendete Infix enthält, wenn Qt mit -libinfix konfiguriert ist.

QT_NO_CREATE_VERSIONLESS_FUNCTIONS

Blendet Befehle aus, die mit qt_ beginnen, und lässt nur die versionierten Befehle übrig, die mit qt6_ beginnen.

QT_NO_CREATE_VERSIONLESS_TARGETS

Blendet die importierten Ziele aus, die mit Qt:: beginnen. Stattdessen müssen Sie die Ziele verwenden, die mit Qt6:: beginnen.
QT_VISIBILITY_AVAILABLEUnter Unix ein Boolescher Wert, der beschreibt, ob Qt-Bibliotheken und Plugins mit -fvisibility=hidden kompiliert wurden. Dies bedeutet, dass nur ausgewählte Symbole exportiert werden.

Projekt-Variablen

Diese Variablen können CMake-Befehle beeinflussen, die von Qt bereitgestellt werden. Sie können durch das Projekt, eine Toolchain-Datei oder andere Drittanbieter-Pakete gesetzt werden.

Qt6::Core

ANDROID_NDK_HOST_SYSTEM_NAME

Android-spezifische Architektur des Host-Systems

ANDROID_SDK_ROOT

Standort des Android SDK

QT_ANDROID_ABIS

Liste der ABIs, für die die Projektpakete gebaut werden

QT_ANDROID_APPLICATION_ARGUMENTS

Liste der Argumente, die an Android-Anwendungen übergeben werden

QT_ANDROID_BUILD_ALL_ABIS

Ermöglicht die Erstellung von Multi-ABI Paketen unter Verwendung der automatisch erkannten Qt für Android SDK Liste

QT_ANDROID_DEPLOYMENT_TYPE

Erzwingt oder deaktiviert die Signierung von Release-Paketen unabhängig vom Build-Typ

QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTS

Ermöglicht die Erzeugung von QtQuickViewContent-basierten Klassen

QT_ANDROID_MULTI_ABI_FORWARD_VARS

Ermöglicht die gemeinsame Nutzung von CMake-Variablen in Multi-ABI-Builds

QT_ANDROID_SIGN_AAB

Signiert das .aab-Paket mit dem angegebenen Keystore, Alias und Speicherpasswort

QT_ANDROID_SIGN_APK

Signiert das Paket mit dem angegebenen Keystore, Alias und Speicherpasswort

QT_DEPLOY_BIN_DIR

Präfix-relatives Unterverzeichnis für die Bereitstellung von Laufzeit-Binärdateien auf einigen Zielplattformen

QT_DEPLOY_IGNORED_LIB_DIRS

Verzeichnisse, die von der Suche nach Runtime-Abhängigkeiten ausgeschlossen sind

QT_DEPLOY_LIBEXEC_DIR

Präfix-relatives Unterverzeichnis für die Bereitstellung von Programmdateien auf einigen Zielplattformen

QT_DEPLOY_LIB_DIR

Präfix-relatives Unterverzeichnis für die Bereitstellung von Bibliotheken auf bestimmten Zielplattformen

QT_DEPLOY_PLUGINS_DIR

Präfix-relatives Unterverzeichnis für die Bereitstellung von Qt-Plugins auf einigen Zielplattformen

QT_DEPLOY_PREFIX

Basisverzeichnis für eine Bereitstellung

QT_DEPLOY_QML_DIR

Präfix-relatives Unterverzeichnis für die Bereitstellung von QML-Plugins auf einigen Zielplattformen

QT_DEPLOY_SUPPORT

Name der Datei, die für die Einrichtung der Deployment-Unterstützung eingebunden werden soll

QT_DEPLOY_TRANSLATIONS_DIR

Präfix-relatives Unterverzeichnis für die Bereitstellung von Qt-Übersetzungen auf einigen Zielplattformen

QT_ENABLE_VERBOSE_DEPLOYMENT

Aktiviert den ausführlichen Modus der Deployment-Tools

QT_HOST_PATH

Location der Qt-Host-Installation bei Cross-Kompilierung

QT_I18N_SOURCE_LANGUAGE

Spezifiziert die Sprache der übersetzbaren Strings

QT_I18N_TRANSLATED_LANGUAGES

Liste der Sprachen, die für die Internationalisierung des Projekts verwendet werden sollen

QT_IOS_LAUNCH_SCREEN

Pfad zum iOS-Startbildschirm-Storyboard, das von allen Zielen verwendet wird

QT_NO_COLLECT_BUILD_TREE_APK_DEPS

Verhindert das Sammeln von im Projekt erstellten gemeinsamen Bibliothekszielen während der Android-Bereitstellung

QT_NO_COLLECT_IMPORTED_TARGET_APK_DEPS

Verhindert das Sammeln von importierten Zielen während der Android-Bereitstellung

QT_NO_SET_XCODE_BUNDLE_IDENTIFIER

Deaktiviert die Bereitstellung einer Fallback-App-Bundle-ID während der Zielfinalisierung unter iOS

QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID

Deaktiviert das Bereitstellen einer Fallback-Team-ID während der Zielfinalisierung unter iOS

QT_NO_STANDARD_PROJECT_SETUP

Verhindert, dass nachfolgende Aufrufe von qt_standard_project_setup() irgendwelche Änderungen vornehmen

QT_PATH_ANDROID_ABI_<ABI>

Satz von Variablen zur Angabe des Pfades zu Qt für Android für die entsprechende ABI

QT_USE_TARGET_ANDROID_BUILD_DIR

Ermöglicht die Verwendung von Android-Build-Verzeichnissen für jedes Ziel

Qt6::InterfaceFramework

IFCODEGEN_VERBOSE

Aktiviert die ausführliche Protokollierung für alle ifcodegen-Funktionen

QT_IFCODEGEN_TEMPLATE_SEARCH_PATH

Suchpfad für ifcodegen Templates

Qt6::Multimedia

QT_NO_FFMPEG_XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY

Deaktiviert FFmpeg Code-Signierung auf iOS

Qt6::Qml

QT_QML_GENERATE_QMLLS_INI

Ermöglicht die automatische Generierung von .qmlls.ini Dateien für QML Language Server

QT_QML_NO_CACHEGEN

Deaktiviert die Kompilierung von QML-Dateien in Bytecode oder C++-Code

QT_QML_OUTPUT_DIRECTORY

Basis-Ausgabeverzeichnis, unter dem QML-Module standardmäßig erstellt werden

Standard CMake-Variablen

CMAKE_AUTOGEN_BESSER_GRAPH_MULTI_CONFIGVerbessert den Abhängigkeitsgraph für Multikonfigurationsgeneratoren

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