summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@qt.io>2020-04-22 16:49:34 +0200
committerKai Koehne <kai.koehne@qt.io>2020-05-06 09:19:39 +0200
commit55b470e41120a5878a7cdbb792f12e63e603ea68 (patch)
treef7aaa0798b5c8f775d371dacafb62e2ea84f69e7
parent0daf258e32572b69972946b12c78361a41200162 (diff)
CMake: Document versionless commands
Pick-to: 5.15 Change-Id: I249c10bf3338b08477ce04f7c2d5098390a6f9a0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r--src/corelib/doc/snippets/cmake-macros/examples.cmake38
-rw-r--r--src/corelib/doc/src/cmake-macros.qdoc291
-rw-r--r--src/corelib/doc/src/includes/qt_add_big_resources.qdocinc44
-rw-r--r--src/corelib/doc/src/includes/qt_add_binary_resources.qdocinc39
-rw-r--r--src/corelib/doc/src/includes/qt_add_resources.qdocinc40
-rw-r--r--src/corelib/doc/src/includes/qt_generate_moc.qdocinc42
-rw-r--r--src/corelib/doc/src/includes/qt_import_plugins.qdocinc58
-rw-r--r--src/corelib/doc/src/includes/qt_wrap_cpp.qdocinc49
-rw-r--r--src/widgets/doc/snippets/cmake-macros/examples.cmake6
-rw-r--r--src/widgets/doc/src/cmake-macros.qdoc44
-rw-r--r--src/widgets/doc/src/includes/qt_wrap_ui.qdocinc40
11 files changed, 603 insertions, 88 deletions
diff --git a/src/corelib/doc/snippets/cmake-macros/examples.cmake b/src/corelib/doc/snippets/cmake-macros/examples.cmake
index ea7da56ec7..913b39cb4f 100644
--- a/src/corelib/doc/snippets/cmake-macros/examples.cmake
+++ b/src/corelib/doc/snippets/cmake-macros/examples.cmake
@@ -4,27 +4,54 @@ qt5_wrap_cpp(SOURCES myapp.h)
add_executable(myapp ${SOURCES})
#! [qt5_wrap_cpp]
+#! [qt_wrap_cpp]
+set(SOURCES myapp.cpp main.cpp)
+qt_wrap_cpp(SOURCES myapp.h)
+add_executable(myapp ${SOURCES})
+#! [qt_wrap_cpp]
+
#! [qt5_add_resources]
set(SOURCES main.cpp)
qt5_add_resources(SOURCES example.qrc)
add_executable(myapp ${SOURCES})
#! [qt5_add_resources]
+#! [qt_add_resources]
+set(SOURCES main.cpp)
+qt_add_resources(SOURCES example.qrc)
+add_executable(myapp ${SOURCES})
+#! [qt_add_resources]
+
#! [qt5_add_big_resources]
set(SOURCES main.cpp)
qt5_add_big_resources(SOURCES big_resource.qrc)
add_executable(myapp ${SOURCES})
#! [qt5_add_big_resources]
+#! [qt_add_big_resources]
+set(SOURCES main.cpp)
+qt_add_big_resources(SOURCES big_resource.qrc)
+add_executable(myapp ${SOURCES})
+#! [qt_add_big_resources]
+
#! [qt5_add_binary_resources]
qt5_add_binary_resources(resources project.qrc OPTIONS -no-compress)
add_dependencies(myapp resources)
#! [qt5_add_binary_resources]
+#! [qt_add_binary_resources]
+qt_add_binary_resources(resources project.qrc OPTIONS -no-compress)
+add_dependencies(myapp resources)
+#! [qt_add_binary_resources]
+
#! [qt5_generate_moc]
qt5_generate_moc(main.cpp main.moc TARGET myapp)
#! [qt5_generate_moc]
+#! [qt_generate_moc]
+qt_generate_moc(main.cpp main.moc TARGET myapp)
+#! [qt_generate_moc]
+
#! [qt5_import_plugins]
add_executable(myapp main.cpp)
target_link_libraries(myapp Qt5::Gui Qt5::Sql)
@@ -35,3 +62,14 @@ qt5_import_plugins(myapp
EXCLUDE_BY_TYPE sqldrivers
)
#! [qt5_import_plugins]
+
+#! [qt_import_plugins]
+add_executable(myapp main.cpp)
+target_link_libraries(myapp Qt::Gui Qt::Sql)
+qt_import_plugins(myapp
+ INCLUDE Qt::QCocoaIntegrationPlugin
+ EXCLUDE Qt::QMinimalIntegrationPlugin
+ INCLUDE_BY_TYPE imageformats Qt5::QGifPlugin Qt5::QJpegPlugin
+ EXCLUDE_BY_TYPE sqldrivers
+)
+#! [qt_import_plugins]
diff --git a/src/corelib/doc/src/cmake-macros.qdoc b/src/corelib/doc/src/cmake-macros.qdoc
index 387cdbf729..8788554616 100644
--- a/src/corelib/doc/src/cmake-macros.qdoc
+++ b/src/corelib/doc/src/cmake-macros.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
@@ -44,30 +44,49 @@ qt5_wrap_cpp(<VAR> src_file1 [src_file2 ...]
\section1 Description
-Creates rules for calling the \l{moc}{Meta-Object Compiler (moc)} on the given
-source files. For each input file, an output file is generated in the build
-directory. The paths of the generated files are added to \c{<VAR>}.
+\include includes/qt_wrap_cpp.qdocinc description
-\note This is a low-level macro. See the \l{CMake AUTOMOC Documentation} for a
-more convenient way to let source files be processed with \c{moc}.
+\note For compatibility with Qt 6, the command is also available under the name \l qt_wrap_cpp.
-\section1 Options
+\section1 Arguments
+
+\include includes/qt_wrap_cpp.qdocinc arguments
+
+\section1 Examples
+
+\snippet cmake-macros/examples.cmake qt5_wrap_cpp
+*/
+
+/*!
+\page qtcore-cmake-qt-wrap-cpp.html
+\ingroup cmake-macros-qtcore
-You can set an explicit \c{TARGET}. This will make sure that the target
-properties \c{INCLUDE_DIRECTORIES} and \c{COMPILE_DEFINITIONS} are also used
-when scanning the source files with \c{moc}.
+\title qt_wrap_cpp
+
+\brief Creates \c{.moc} files from sources.
+
+\section1 Synopsis
+
+\badcode
+qt_wrap_cpp(<VAR> src_file1 [src_file2 ...]
+ [TARGET target]
+ [OPTIONS ...]
+ [DEPENDS ...])
+\endcode
+
+\section1 Description
-You can set additional \c{OPTIONS} that should be added to the \c{moc} calls.
-You can find possible options in the \l{moc}{moc documentation}.
+\include includes/qt_wrap_cpp.qdocinc description
-\c{DEPENDS} allows you to add additional dependencies for recreation of the
-generated files. This is useful when the sources have implicit dependencies,
-like code for a Qt plugin that includes a \c{.json} file using the
-Q_PLUGIN_METADATA() macro.
+This command was introduced in Qt 5.15. You can use \l qt5_wrap_cpp in older versions of Qt.
+
+\section1 Arguments
+
+\include includes/qt_wrap_cpp.qdocinc arguments
\section1 Examples
-\snippet cmake-macros/examples.cmake qt5_wrap_cpp
+\snippet cmake-macros/examples.cmake qt_wrap_cpp
*/
/*!
@@ -87,18 +106,15 @@ qt5_add_resources(<VAR> file1.qrc [file2.qrc ...]
\section1 Description
-Creates source code from Qt resource files using the
-\l{Resource Compiler (rcc)}. Paths to the generated source files are added to
-\c{<VAR>}.
+\include includes/qt_add_resources.qdocinc arguments
-\note This is a low-level macro. See the \l{CMake AUTORCC Documentation} for a
-more convenient way to let Qt resource files be processed with \c{rcc}.
For embedding bigger resources, see \l qt5_add_big_resources.
+\note For compatibility with Qt 6, the command is also available under the name \l qt_add_resources.
+
\section1 Arguments
-You can set additional \c{OPTIONS} that should be added to the \c{rcc} calls.
-You can find possible options in the \l{rcc}{rcc documentation}.
+\include includes/qt_add_resources.qdocinc arguments
\section1 Examples
@@ -106,6 +122,38 @@ You can find possible options in the \l{rcc}{rcc documentation}.
*/
/*!
+\page qtcore-cmake-qt-add-resources.html
+\ingroup cmake-macros-qtcore
+
+\title qt_add_resources
+
+\brief Compiles binary resources into source code.
+
+\section1 Synopsis
+
+\badcode
+qt_add_resources(<VAR> file1.qrc [file2.qrc ...]
+ [OPTIONS ...])
+\endcode
+
+\section1 Description
+
+\include includes/qt_add_resources.qdocinc arguments
+
+For embedding bigger resources, see \l qt_add_big_resources.
+
+This command was introduced in Qt 5.15. You can use \l qt5_add_resources in older versions of Qt.
+
+\section1 Arguments
+
+\include includes/qt_add_resources.qdocinc arguments
+
+\section1 Examples
+
+\snippet cmake-macros/examples.cmake qt_add_resources
+*/
+
+/*!
\page qtcore-cmake-qt5-add-big-resources.html
\ingroup cmake-macros-qtcore
@@ -122,21 +170,13 @@ qt5_add_big_resources(<VAR> file1.qrc [file2.qrc ...]
\section1 Description
-Creates compiled object files from Qt resource files using the
-\l{Resource Compiler (rcc)}. Paths to the generated files are added to
-\c{<VAR>}.
-
-This is similar to \l qt5_add_resources, but directly generates object
-files (\c .o, \c .obj) files instead of C++ source code. This allows to
-embed bigger resources, where compiling to C++ sources and then to
-binaries would be too time consuming or memory intensive.
+\include includes/qt_add_big_resources.qdocinc description
-Note that this macro is only available if using \c{CMake} 3.9 or later.
+\note For compatibility with Qt 6, the command is also available under the name \l qt_add_big_resources.
\section1 Arguments
-You can set additional \c{OPTIONS} that should be added to the \c{rcc} calls.
-You can find possible options in the \l{rcc}{rcc documentation}.
+\include includes/qt_add_big_resources.qdocinc arguments
\section1 Examples
@@ -144,6 +184,36 @@ You can find possible options in the \l{rcc}{rcc documentation}.
*/
/*!
+\page qtcore-cmake-qt-add-big-resources.html
+\ingroup cmake-macros-qtcore
+
+\title qt_add_big_resources
+
+\brief Compiles big binary resources into object code.
+
+\section1 Synopsis
+
+\badcode
+qt_add_big_resources(<VAR> file1.qrc [file2.qrc ...]
+ [OPTIONS ...])
+\endcode
+
+\section1 Description
+
+\include includes/qt_add_big_resources.qdocinc description
+
+This command was introduced in Qt 5.15. You can use \l qt5_add_big_resources in older versions of Qt.
+
+\section1 Arguments
+
+\include includes/qt_add_big_resources.qdocinc arguments
+
+\section1 Examples
+
+\snippet cmake-macros/examples.cmake qt_add_big_resources
+*/
+
+/*!
\page qtcore-cmake-qt5_add_binary_resources.html
\ingroup cmake-macros-qtcore
@@ -161,16 +231,13 @@ qt5_add_binary_resources(target file1.qrc [file2.qrc ...]
\section1 Description
-Adds a custom \c target that compiles Qt resource files into a binary \c{.rcc}
-file.
+\include includes/qt_add_binary_resources.qdocinc description
-\section1 Arguments
+\note For compatibility with Qt 6, the command is also available under the name \l qt_add_binary_resources.
-\c{DESTINATION} sets the path of the generated \c{.rcc} file. The default is
-\c{${CMAKE_CURRENT_BINARY_DIR}/${target}.rcc}.
+\section1 Arguments
-You can set additional \c{OPTIONS} that should be added to the \c{rcc} calls.
-You can find possible options in the \l{rcc}{rcc documentation}.
+\include includes/qt_add_binary_resources.qdocinc arguments
\section1 Examples
@@ -178,6 +245,37 @@ You can find possible options in the \l{rcc}{rcc documentation}.
*/
/*!
+\page qtcore-cmake-qt_add_binary_resources.html
+\ingroup cmake-macros-qtcore
+
+\title qt_add_binary_resources
+
+\brief Creates an \c{RCC} file from a list of Qt resource files.
+
+\section1 Synopsis
+
+\badcode
+qt_add_binary_resources(target file1.qrc [file2.qrc ...]
+ [DESTINATION ...]
+ [OPTIONS ...])
+\endcode
+
+\section1 Description
+
+\include includes/qt_add_binary_resources.qdocinc description
+
+This command was introduced in Qt 5.15. You can use \l qt5_add_binary_resources in older versions of Qt.
+
+\section1 Arguments
+
+\include includes/qt_add_binary_resources.qdocinc arguments
+
+\section1 Examples
+
+\snippet cmake-macros/examples.cmake qt_add_binary_resources
+*/
+
+/*!
\page qtcore-cmake-qt5-generate-moc.html
\ingroup cmake-macros-qtcore
@@ -194,25 +292,48 @@ qt5_generate_moc(src_file dest_file
\section1 Description
-Creates a rule to call the \l{moc}{Meta-Object Compiler (moc)} on \c src_file
-and store the output in \c dest_file.
+\include includes/qt_generate_moc.qdocinc description
-\note This is a low-level macro. See the \l{CMake AUTOMOC Documentation} for a
-more convenient way to let source files be processed with \c{moc}.
-\l qt5_wrap_cpp is also similar, but automatically generates a temporary file
-path for you.
+\note For compatibility with Qt 6, the command is also available under the name \l qt_generate_moc.
\section1 Arguments
-You can set an explicit \c{TARGET}. This will make sure that the target
-properties \c{INCLUDE_DIRECTORIES} and \c{COMPILE_DEFINITIONS} are also used
-when scanning the source files with \c{moc}.
+\include includes/qt_generate_moc.qdocinc arguments
\section1 Examples
\snippet cmake-macros/examples.cmake qt5_generate_moc
*/
+/*!
+\page qtcore-cmake-qt-generate-moc.html
+\ingroup cmake-macros-qtcore
+
+\title qt_generate_moc
+
+\brief Calls moc on an input file.
+
+\section1 Synopsis
+
+\badcode
+qt_generate_moc(src_file dest_file
+ [TARGET target])
+\endcode
+
+\section1 Description
+
+\include includes/qt_generate_moc.qdocinc description
+
+This command was introduced in Qt 5.15. You can use \l qt5_generate_moc in older versions of Qt.
+
+\section1 Arguments
+
+\include includes/qt_generate_moc.qdocinc arguments
+
+\section1 Examples
+
+\snippet cmake-macros/examples.cmake qt_generate_moc
+*/
/*!
\page qtcore-cmake-qt5-import-plugins.html
@@ -234,50 +355,62 @@ qt5_import_plugins(target
\section1 Description
-Specifies a custom set of plugins to import. The optional arguments:
-\c INCLUDE, \c EXCLUDE, \c INCLUDE_BY_TYPE, and \c EXCLUDE_BY_TYPE,
-can be used more than once.
+\include includes/qt_import_plugins.qdocinc description
+
+\note For compatibility with Qt 6, the command is also available under the name \l qt_import_plugins.
+
+\section1 Examples
+
+\snippet cmake-macros/examples.cmake qt5_import_plugins
-This CMake command was introduced in Qt 5.14.
+In the snippet above, the following occurs with the executable \c myapp:
\list
-\li \c INCLUDE -- can be used to specify a list of plugins to import.
-\li \c EXCLUDE -- can be used to specify a list of plugins to exclude.
-\li \c INCLUDE_BY_TYPE -- can be used to override the list of plugins to
- import for a certain plugin type.
-\li \c EXCLUDE_BY_TYPE -- can be used to specify a plugin type to exclude;
- then no plugins of that type are imported.
+\li The \c Qt5::QCocoaIntegrationPlugin is imported into myapp.
+\li The \c Qt5::QMinimalIntegrationPlugin plugin is
+ excluded from being automatically imported into myapp.
+\li The default list of plugins for \c imageformats is
+ overridden to only include Qt5::QGifPlugin and Qt5::QJpegPlugin.
+\li All \c sqldrivers plugins are excluded from automatic importing.
\endlist
+*/
-Qt provides plugin types such as \c imageformats, \c platforms,
-and \c sqldrivers.
+/*!
+\page qtcore-cmake-qt-import-plugins.html
+\ingroup cmake-macros-qtcore
-If \c qt5_import_plugins() isn't called, the target automatically links against
-a sane set of default plugins, for each Qt module that the target is linked
-against. For more information, see
-\l{CMake target_link_libraries Documentation}{target_link_libraries}.
+\title qt_import_plugins
-Each plugin comes with a C++ stub file that automatically
-initializes the plugin. Consequently, any target that links against a plugin
-has this C++ file added to its \c SOURCES.
+\brief Specifies a custom set of plugins to import for a static Qt build
-\note This macro imports plugins from static Qt builds only.
-On shared builds, it does nothing.
+\section1 Synopsis
-\section1 Example
+\badcode
+qt_import_plugins(target
+ [INCLUDE plugin ...]
+ [EXCLUDE plugin ...]
+ [INCLUDE_BY_TYPE plugin_type plugin ...]
+ [EXCLUDE_BY_TYPE plugin_type])
+\endcode
-\snippet cmake-macros/examples.cmake qt5_import_plugins
+\section1 Description
+
+\include includes/qt_import_plugins.qdocinc description
+
+This command was introduced in Qt 5.15. You can use \l qt5_import_plugins in older versions of Qt.
+
+\section1 Examples
+
+\snippet cmake-macros/examples.cmake qt_import_plugins
In the snippet above, the following occurs with the executable \c myapp:
\list
-\li The \c Qt5::QCocoaIntegrationPlugin is imported into myapp.
-\li The \c Qt5::QMinimalIntegrationPlugin plugin is
+\li The \c Qt::QCocoaIntegrationPlugin is imported into myapp.
+\li The \c Qt::QMinimalIntegrationPlugin plugin is
excluded from being automatically imported into myapp.
\li The default list of plugins for \c imageformats is
- overridden to only include Qt5::QGifPlugin and Qt5::QJpegPlugin.
+ overridden to only include Qt::QGifPlugin and Qt::QJpegPlugin.
\li All \c sqldrivers plugins are excluded from automatic importing.
\endlist
-
*/
-
diff --git a/src/corelib/doc/src/includes/qt_add_big_resources.qdocinc b/src/corelib/doc/src/includes/qt_add_big_resources.qdocinc
new file mode 100644
index 0000000000..0a76bdd844
--- /dev/null
+++ b/src/corelib/doc/src/includes/qt_add_big_resources.qdocinc
@@ -0,0 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [description]
+Creates compiled object files from Qt resource files using the
+\l{Resource Compiler (rcc)}. Paths to the generated files are added to
+\c{<VAR>}.
+
+This is similar to \l qt5_add_resources / \l qt_add_resources, but directly
+generates object files (\c .o, \c .obj) files instead of C++ source code.
+This allows to embed bigger resources, where compiling to C++ sources and then
+to binaries would be too time consuming or memory intensive.
+
+\note This macro is only available if using \c{CMake} 3.9 or later.
+//! [description]
+
+//! [arguments]
+You can set additional \c{OPTIONS} that should be added to the \c{rcc} calls.
+You can find possible options in the \l{rcc}{rcc documentation}.
+//! [arguments]
diff --git a/src/corelib/doc/src/includes/qt_add_binary_resources.qdocinc b/src/corelib/doc/src/includes/qt_add_binary_resources.qdocinc
new file mode 100644
index 0000000000..21d3ca5990
--- /dev/null
+++ b/src/corelib/doc/src/includes/qt_add_binary_resources.qdocinc
@@ -0,0 +1,39 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [description]
+Adds a custom \c target that compiles Qt resource files into a binary \c{.rcc}
+file.
+//! [description]
+
+//! [arguments]
+\c{DESTINATION} sets the path of the generated \c{.rcc} file. The default is
+\c{${CMAKE_CURRENT_BINARY_DIR}/${target}.rcc}.
+
+You can set additional \c{OPTIONS} that should be added to the \c{rcc} calls.
+You can find possible options in the \l{rcc}{rcc documentation}.
+//! [arguments]
diff --git a/src/corelib/doc/src/includes/qt_add_resources.qdocinc b/src/corelib/doc/src/includes/qt_add_resources.qdocinc
new file mode 100644
index 0000000000..b3c032a04b
--- /dev/null
+++ b/src/corelib/doc/src/includes/qt_add_resources.qdocinc
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [description]
+Creates source code from Qt resource files using the
+\l{Resource Compiler (rcc)}. Paths to the generated source files are added to
+\c{<VAR>}.
+
+\note This is a low-level macro. See the \l{CMake AUTORCC Documentation} for a
+more convenient way to let Qt resource files be processed with \c{rcc}.
+//! [description]
+
+//! [arguments]
+You can set additional \c{OPTIONS} that should be added to the \c{rcc} calls.
+You can find possible options in the \l{rcc}{rcc documentation}.
+//! [arguments]
diff --git a/src/corelib/doc/src/includes/qt_generate_moc.qdocinc b/src/corelib/doc/src/includes/qt_generate_moc.qdocinc
new file mode 100644
index 0000000000..c1c0ada978
--- /dev/null
+++ b/src/corelib/doc/src/includes/qt_generate_moc.qdocinc
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [description]
+Creates a rule to call the \l{moc}{Meta-Object Compiler (moc)} on \c src_file
+and store the output in \c dest_file.
+
+\note This is a low-level macro. See the \l{CMake AUTOMOC Documentation} for a
+more convenient way to let source files be processed with \c{moc}.
+\l qt5_wrap_cpp is also similar, but automatically generates a temporary file
+path for you.
+//! [description]
+
+//! [arguments]
+You can set an explicit \c{TARGET}. This will make sure that the target
+properties \c{INCLUDE_DIRECTORIES} and \c{COMPILE_DEFINITIONS} are also used
+when scanning the source files with \c{moc}.
+//! [arguments]
diff --git a/src/corelib/doc/src/includes/qt_import_plugins.qdocinc b/src/corelib/doc/src/includes/qt_import_plugins.qdocinc
new file mode 100644
index 0000000000..005a73d1d7
--- /dev/null
+++ b/src/corelib/doc/src/includes/qt_import_plugins.qdocinc
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [description]
+Specifies a custom set of plugins to import. The optional arguments:
+\c INCLUDE, \c EXCLUDE, \c INCLUDE_BY_TYPE, and \c EXCLUDE_BY_TYPE,
+can be used more than once.
+
+This CMake command was introduced in Qt 5.14.
+
+\list
+\li \c INCLUDE -- can be used to specify a list of plugins to import.
+\li \c EXCLUDE -- can be used to specify a list of plugins to exclude.
+\li \c INCLUDE_BY_TYPE -- can be used to override the list of plugins to
+ import for a certain plugin type.
+\li \c EXCLUDE_BY_TYPE -- can be used to specify a plugin type to exclude;
+ then no plugins of that type are imported.
+\endlist
+
+Qt provides plugin types such as \c imageformats, \c platforms,
+and \c sqldrivers.
+
+If the command isn't used the target automatically links against
+a sane set of default plugins, for each Qt module that the target is linked
+against. For more information, see
+\l{CMake target_link_libraries Documentation}{target_link_libraries}.
+
+Each plugin comes with a C++ stub file that automatically
+initializes the plugin. Consequently, any target that links against a plugin
+has this C++ file added to its \c SOURCES.
+
+\note This command imports plugins from static Qt builds only.
+On shared builds, it does nothing.
+//! [description]
diff --git a/src/corelib/doc/src/includes/qt_wrap_cpp.qdocinc b/src/corelib/doc/src/includes/qt_wrap_cpp.qdocinc
new file mode 100644
index 0000000000..3f6b278557
--- /dev/null
+++ b/src/corelib/doc/src/includes/qt_wrap_cpp.qdocinc
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [description]
+Creates rules for calling the \l{moc}{Meta-Object Compiler (moc)} on the given
+source files. For each input file, an output file is generated in the build
+directory. The paths of the generated files are added to \c{<VAR>}.
+
+\note This is a low-level macro. See the \l{CMake AUTOMOC Documentation} for a
+more convenient way to let source files be processed with \c{moc}.
+//! [description]
+
+//! [arguments]
+You can set an explicit \c{TARGET}. This will make sure that the target
+properties \c{INCLUDE_DIRECTORIES} and \c{COMPILE_DEFINITIONS} are also used
+when scanning the source files with \c{moc}.
+
+You can set additional \c{OPTIONS} that should be added to the \c{moc} calls.
+You can find possible options in the \l{moc}{moc documentation}.
+
+\c{DEPENDS} allows you to add additional dependencies for recreation of the
+generated files. This is useful when the sources have implicit dependencies,
+like code for a Qt plugin that includes a \c{.json} file using the
+Q_PLUGIN_METADATA() macro.
+//! [arguments]
diff --git a/src/widgets/doc/snippets/cmake-macros/examples.cmake b/src/widgets/doc/snippets/cmake-macros/examples.cmake
index 61ec7aed54..88cf79ea7b 100644
--- a/src/widgets/doc/snippets/cmake-macros/examples.cmake
+++ b/src/widgets/doc/snippets/cmake-macros/examples.cmake
@@ -3,3 +3,9 @@ set(SOURCES mainwindow.cpp main.cpp)
qt5_wrap_ui(SOURCES mainwindow.ui)
add_executable(myapp ${SOURCES})
#! [qt5_wrap_ui]
+
+#! [qt_wrap_ui]
+set(SOURCES mainwindow.cpp main.cpp)
+qt_wrap_ui(SOURCES mainwindow.ui)
+add_executable(myapp ${SOURCES})
+#! [qt_wrap_ui]
diff --git a/src/widgets/doc/src/cmake-macros.qdoc b/src/widgets/doc/src/cmake-macros.qdoc
index 36579576a9..00ba776d5f 100644
--- a/src/widgets/doc/src/cmake-macros.qdoc
+++ b/src/widgets/doc/src/cmake-macros.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2019 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
@@ -37,24 +37,50 @@
\badcode
qt5_wrap_ui(<VAR> ui_file1 [ui_file2 ...]
- [OPTIONS ...])
+ [OPTIONS ...])
\endcode
\section1 Description
-Creates rules for calling \l{uic}{User Interface Compiler (uic)} on the given
-\c{.ui} files. For each input file, an header file is generated in the build
-directory. The paths of the generated header files are added to\c{<VAR>}.
+\include includes/qt_wrap_ui.qdocinc description
-\note This is a low-level macro. See the \l{CMake AUTOUIC Documentation} for a
-more convenient way to process \c{.ui} files with \c{uic}.
+\note For compatibility with Qt 6, the command is also available under the name \l qt_wrap_ui.
\section1 Options
-You can set additional \c{OPTIONS} that should be added to the \c{uic} calls.
-You can find possible options in the \l{uic}{uic documentation}.
+\include includes/qt_wrap_ui.qdocinc options
\section1 Examples
\snippet cmake-macros/examples.cmake qt5_wrap_ui
*/
+
+/*!
+\page qtwidgets-cmake-qt-wrap-ui.html
+\ingroup cmake-macros-qtwidgets
+
+\title qt_wrap_ui
+
+\brief Creates sources for \c{.ui} files.
+
+\section1 Synopsis
+
+\badcode
+qt_wrap_ui(<VAR> ui_file1 [ui_file2 ...]
+ [OPTIONS ...])
+\endcode
+
+\section1 Description
+
+\include includes/qt_wrap_ui.qdocinc description
+
+This command was introduced in Qt 5.15. You can use \l qt5_wrap_ui in older versions of Qt.
+
+\section1 Options
+
+\include includes/qt_wrap_ui.qdocinc options
+
+\section1 Examples
+
+\snippet cmake-macros/examples.cmake qt_wrap_ui
+*/
diff --git a/src/widgets/doc/src/includes/qt_wrap_ui.qdocinc b/src/widgets/doc/src/includes/qt_wrap_ui.qdocinc
new file mode 100644
index 0000000000..52bbff455a
--- /dev/null
+++ b/src/widgets/doc/src/includes/qt_wrap_ui.qdocinc
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [description]
+Creates rules for calling the \l{uic}{User Interface Compiler (uic)} on the given
+\c{.ui} files. For each input file, an header file is generated in the build
+directory. The paths of the generated header files are added to \c{<VAR>}.
+
+\note This is a low-level macro. See the \l{CMake AUTOUIC Documentation} for a
+more convenient way to process \c{.ui} files with \c{uic}.
+//! [description]
+
+//! [options]
+You can set additional \c{OPTIONS} that should be added to the \c{uic} calls.
+You can find possible options in the \l{uic}{uic documentation}.
+//! [options]