// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
\page qt-finalize-project.html
\ingroup cmake-commands-qtcore

\title qt_finalize_project
\keyword qt6_finalize_project

\summary {Handles various common platform-specific tasks associated with a Qt project.}

\include cmake-find-package-core.qdocinc

\cmakecommandsince 6.3

\section1 Synopsis

\badcode
qt_finalize_project()
\endcode

\versionlessCMakeCommandsNote qt6_finalize_project()

\section1 Description

Some targets that are created using Qt commands require additional actions
at the end of CMake configuring phase.
Depending on the platform, the function typically:
\list
    \li Walks the build tree.
    \li Resolves dependencies.
    \li Applies any extra deployment steps.
\endlist

With CMake version 3.19 or later, you don't need to call this command since
it consists of sub-commands that are ordinarily invoked at the end of
\c CMAKE_SOURCE_DIR directory scope processing.

\include cmake-android-qt-finalize-project-warning.qdocinc warning

\section2 Examples

For projects that use a CMake version lower than 3.19, you need to call
\c qt_finalize_project manually. This example shows the typical use of the
function:

\snippet cmake-macros/examples.cmake qt_finalize_project_manual

\sa {cmake-variable-QT_NO_COLLECT_BUILD_TREE_APK_DEPS}{QT_NO_COLLECT_BUILD_TREE_APK_DEPS}
\sa {cmake-variable-QT_NO_COLLECT_IMPORTED_TARGET_APK_DEPS}{QT_NO_COLLECT_IMPORTED_TARGET_APK_DEPS}
*/
