qt_finalize_target

Erledigt verschiedene allgemeine plattformspezifische Aufgaben im Zusammenhang mit Qt-Targets.

Das Kommando ist in der Core Komponente des Qt6 Pakets definiert, das wie folgt geladen werden kann:

find_package(Qt6 REQUIRED COMPONENTS Core)

Dieser Befehl wurde in Qt 6.2 eingeführt.

Synopsis

qt_finalize_target(target)

Wenn versionslose Befehle deaktiviert sind, verwenden Sie stattdessen qt6_finalize_target(). Es unterstützt den gleichen Satz an Argumenten wie dieser Befehl.

Beschreibung

Nachdem ein Ziel erstellt wurde, sind manchmal weitere Verarbeitungs- oder Finalisierungsschritte erforderlich. Die durchzuführenden Schritte hängen von der Plattform, dem Typ des Ziels und von verschiedenen Eigenschaften des Ziels ab. Es wird erwartet, dass diese Schritte innerhalb desselben Verzeichnisbereichs durchgeführt werden, in dem target erstellt wurde, daher sollte dieser Befehl auch aus demselben Verzeichnisbereich aufgerufen werden.

Dieser Befehl wird normalerweise als Teil eines Aufrufs von qt_add_executable(), qt_add_library(), oder qt_add_plugin() aufgerufen. Das Timing, wann dieser Aufruf stattfindet und wann ein Projekt ihn explizit aufrufen muss, wird in der Dokumentation dieser Befehle besprochen.

Ausführbare Targets

Für ausführbare Targets implementiert qt_finalize_target() die in den folgenden Unterabschnitten beschriebene Logik, soweit dies für die jeweilige Plattform und das jeweilige Target angemessen ist. Spätere Qt-Versionen können die Finalisierungsverarbeitung weiter ausbauen.

Alle Plattformen

Einige interne Verarbeitungen werden durchgeführt, um das automatische Linken von Qt-Plugins zu erleichtern. Dies ist besonders wichtig, wenn ein statisch gebautes Qt oder eine CMake-Version vor 3.21 verwendet wird.

Android

  • Erzeugen einer Deployment-Einstellungsdatei für die target.
  • Erstellen Sie ein Build-Target für die Erzeugung einer APK.

WASM

Erstellen Sie ${target}.html (eine zielspezifische wasm_shell.html Datei), qtloader.js und qtlogo.svg Dateien im CMAKE_CURRENT_BINARY_DIR.

iOS

Die Finalisierung versucht, sinnvolle Werte für die folgenden Zieleigenschaften bereitzustellen, wenn sie nicht bereits gesetzt sind und die entsprechende CMAKE_... Variable ebenfalls nicht gesetzt ist:

  • XCODE_ATTRIBUTE_DEVELOPMENT_TEAM
  • XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER
  • MACOSX_BUNDLE_GUI_IDENTIFIER

Falls erforderlich, kann die Variable QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID verwendet werden, um das Setzen von XCODE_ATTRIBUTE_DEVELOPMENT_TEAM zu deaktivieren, und die Variable QT_NO_SET_XCODE_BUNDLE_IDENTIFIER kann verwendet werden, um das Setzen von XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER und MACOSX_BUNDLE_GUI_IDENTIFIER zu deaktivieren.

Bibliothek-Ziele

Ab dieser Qt-Version führt die Finalisierung für Bibliotheksziele keine Verarbeitung durch. Zukünftige Qt-Versionen könnten Finalisierungsprozesse für Bibliotheken hinzufügen, daher sollten Sie sicherstellen, dass die Finalisierung immer noch auf die erwartete Weise aufgerufen wird.

Siehe auch qt_set_finalizer_mode().

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