From 2aa0e71507953ea87cc63cf27f9701bac1bbb094 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Wed, 22 Apr 2020 16:49:34 +0200 Subject: CMake: Document versionless commands Change-Id: I249c10bf3338b08477ce04f7c2d5098390a6f9a0 Reviewed-by: Alexandru Croitor (cherry picked from commit 55b470e41120a5878a7cdbb792f12e63e603ea68) Reviewed-by: Kai Koehne --- .../doc/snippets/cmake-macros/examples.cmake | 38 +++ src/corelib/doc/src/cmake-macros.qdoc | 291 +++++++++++++++------ .../doc/src/includes/qt_add_big_resources.qdocinc | 44 ++++ .../src/includes/qt_add_binary_resources.qdocinc | 39 +++ .../doc/src/includes/qt_add_resources.qdocinc | 40 +++ .../doc/src/includes/qt_generate_moc.qdocinc | 42 +++ .../doc/src/includes/qt_import_plugins.qdocinc | 58 ++++ src/corelib/doc/src/includes/qt_wrap_cpp.qdocinc | 49 ++++ 8 files changed, 522 insertions(+), 79 deletions(-) create mode 100644 src/corelib/doc/src/includes/qt_add_big_resources.qdocinc create mode 100644 src/corelib/doc/src/includes/qt_add_binary_resources.qdocinc create mode 100644 src/corelib/doc/src/includes/qt_add_resources.qdocinc create mode 100644 src/corelib/doc/src/includes/qt_generate_moc.qdocinc create mode 100644 src/corelib/doc/src/includes/qt_import_plugins.qdocinc create mode 100644 src/corelib/doc/src/includes/qt_wrap_cpp.qdocinc (limited to 'src/corelib/doc') 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( 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{}. +\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( 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,24 +106,53 @@ qt5_add_resources( 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{}. +\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 \snippet cmake-macros/examples.cmake qt5_add_resources */ +/*! +\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( 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,27 +170,49 @@ qt5_add_big_resources( 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{}. - -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 \snippet cmake-macros/examples.cmake qt5_add_big_resources */ +/*! +\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( 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,22 +231,50 @@ 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 \snippet cmake-macros/examples.cmake qt5_add_binary_resources */ +/*! +\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{}. + +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{}. + +\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{}. + +\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] -- cgit v1.2.3