Auf dieser Seite

qt_policy

Ändern Sie das Standardverhalten der CMake-API von Qt.

Der Befehl ist in der Komponente „ Core “ des Pakets „ Qt6 “ definiert, das wie folgt geladen werden kann:

find_package(Qt6 REQUIRED COMPONENTS Core)

Dieser Befehl wurde in Qt 6.5 eingeführt.

Übersicht

qt_policy(
    [SET <policy_name> behavior]
    [GET <policy_name> <variable>]
)

Wenn versionslose Befehle deaktiviert sind, verwenden Sie stattdessen „ qt6_policy() “. Dieser Befehl unterstützt dieselben Argumente wie der vorliegende Befehl.

Beschreibung

Dieser Befehl verfügt über zwei Modi:

  • Wenn das Schlüsselwort „ SET “ verwendet wird, kann dieser Befehl dazu dienen, Verhaltensänderungen in der CMake-API von Qt zu aktivieren oder explizit zu deaktivieren.
  • Bei Verwendung des Schlüsselworts „ GET “ wird „ <variable> “ auf das aktuelle Verhalten der Richtlinie gesetzt, d. h. „ OLD “ oder „ NEW “.

<policy_name> muss der Name einer der Qt-CMake-Richtlinien sein. Richtliniennamen haben die Form „ QTP<NNNN> “, wobei <NNNN> eine Ganzzahl ist, die den Index der Richtlinie angibt. Die Verwendung eines ungültigen Richtliniennamens führt zu einem Fehler.

Code, der ältere Qt-Versionen unterstützt, kann das Vorhandensein einer Richtlinie überprüfen, indem er den Wert der Variablen ` QT_KNOWN_POLICY_<policy_name> ` abfragt, bevor er den Wert von ` <policy_name> ` abruft oder dessen Verhalten festlegt.

if(QT_KNOWN_POLICY_<policy_name>)
    qt_policy(SET <policy_name> NEW)
endif()

Sie können „ behavior “ auf eine der folgenden Optionen setzen:

  • NEW um das neue Verhalten zu aktivieren
  • OLD um es explizit zu deaktivieren

Hinweis: Das Verhalten von „ OLD “ für eine Richtlinie ist veraltet und wird möglicherweise in Zukunft entfernt.

Verfügbare Richtlinien

QTP0001

„:/qt/qml/“ ist das Standard-Ressourcenpräfix für QML-Module

QTP0002

Ziel-Eigenschaften, die Android-spezifische Pfade angeben, dürfen Generatorausdrücke enthalten.

QTP0003

Berücksichtigen Sie den Wert von BUILD_SHARED_LIBS beim Erstellen von Qt-Bibliotheken.

QTP0004

Zusätzliche Verzeichnisse mit QML-Dateien in einem QML-Modul erfordern zusätzliche qmldir-Dateien

QTP0005

Die Abhängigkeitsschlüsselwörter von `qt_add_qml_module()` sollen CMake-Ziele akzeptieren

QTP0006

Aktiviert PRIVATE_CODE als Standard für die Generierung von Wayland-Protokollquellcode.

QTP0007

Setzt Anführungszeichen und Escape-Zeichen für weitergeleitete Argumentwerte in generierten Deploy-Skripten.

QTP0008

Leitet Argumente von Deploy-Skripten weiter, ohne sie neu auszuwerten.

Siehe auch qt_standard_project_setup().

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