summaryrefslogtreecommitdiffstats
path: root/src/corelib/doc/src/cmake/qt_finalize_target.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/doc/src/cmake/qt_finalize_target.qdoc')
-rw-r--r--src/corelib/doc/src/cmake/qt_finalize_target.qdoc66
1 files changed, 54 insertions, 12 deletions
diff --git a/src/corelib/doc/src/cmake/qt_finalize_target.qdoc b/src/corelib/doc/src/cmake/qt_finalize_target.qdoc
index da4a8eeaae..0d01e52227 100644
--- a/src/corelib/doc/src/cmake/qt_finalize_target.qdoc
+++ b/src/corelib/doc/src/cmake/qt_finalize_target.qdoc
@@ -45,21 +45,63 @@ qt_finalize_target(target)
\section1 Description
After a target is created, further processing or \e{finalization} steps are
-commonly needed. The steps to perform depend on the platform and on various
-properties of the target. These steps are expected to be performed within the
-same directory scope as the one in which the \c{target} was created, so this
-command should also be called from that same directory scope.
+sometimes needed. The steps to perform depend on the platform, the type of
+target, and on various properties of the target. These steps are expected to be
+performed within the same directory scope as the one in which the \c{target}
+was created, so this command should also be called from that same directory
+scope.
-This command implements the following, as appropriate for the platform and
-target provided:
+This command is ordinarily invoked as part of a call to
+\l{qt6_add_executable}{qt_add_executable()} or
+\l{qt6_add_library}{qt_add_library()}. The timing of when that call takes
+place and when it might need to be called explicitly by a project is discussed
+in the documentation of those commands.
+
+\section1 Executable Targets
+
+For executable targets, \c{qt_finalize_target()} implements the logic described
+in the subsections below, as appropriate for the platform and target provided.
+Later Qt releases may expand finalization processing further.
+
+\section2 All Platforms
+
+Some internal processing is performed to facilitate automatic linking of Qt
+plugins. This is especially important if using a statically built Qt or a
+CMake version earlier than 3.21.
+
+\section2 Android
\list
-\li When targeting Android, generate a deployment settings file for the target.
-\li Create a build target for generating an APK if building for Android.
+\li Generate a deployment settings file for the \c target.
+\li Create a build target for generating an APK.
\endlist
-This command is ordinarily invoked as part of a call to
-\l{qt6_add_executable}{qt_add_executable()}. The timing of when that call takes
-place and when it might need to be called explicitly by a project is discussed
-in the documentation of that command.
+\section2 WASM
+
+Create \c{${target}.html} (a target-specific \c{wasm_shell.html} file),
+\c{qtloader.js} and \c{qtlogo.svg} files in the \c{CMAKE_CURRENT_BINARY_DIR}.
+
+\section2 iOS
+
+Finalization attempts to provide sensible values for the following target
+properties if they are not already set, and their corresponding \c{CMAKE_...}
+variable is also not set:
+
+\list
+\li \c XCODE_ATTRIBUTE_DEVELOPMENT_TEAM
+\li \c XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER
+\li \c MACOSX_BUNDLE_GUI_IDENTIFIER
+\endlist
+
+If required, the \l QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID variable can be used to
+disable setting \c XCODE_ATTRIBUTE_DEVELOPMENT_TEAM, and the
+\l QT_NO_SET_XCODE_BUNDLE_IDENTIFIER variable can be used to disable setting
+\c XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER and \c MACOSX_BUNDLE_GUI_IDENTIFIER.
+
+\section1 Library Targets
+
+As of this Qt version, finalization for library targets does not perform any
+processing. Future Qt versions may add finalization processing for libraries,
+so you should ensure finalization is still invoked in the expected way.
+
*/