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.