Qt Core: Document CMake macros
Document public macros in Qt5CoreMacros.cmake. This will replace the list in the current CMake Manual. Task-number: QTBUG-72159 Change-Id: I377412fe0c1d0a9b232162bbab88ac830d2cac80 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
This commit is contained in:
parent
b88be04519
commit
57b4f6d56e
@ -71,6 +71,11 @@
|
||||
\title CMake AUTOMOC Documentation
|
||||
*/
|
||||
|
||||
/*!
|
||||
\externalpage https://cmake.org/cmake/help/latest/manual/cmake-qt.7.html#autorcc
|
||||
\title CMake AUTORCC Documentation
|
||||
*/
|
||||
|
||||
/*!
|
||||
\externalpage https://cmake.org/cmake/help/latest/prop_tgt/LOCATION.html
|
||||
\title CMake LOCATION Documentation
|
||||
|
26
src/corelib/doc/snippets/cmake-macros/examples.cmake
Normal file
26
src/corelib/doc/snippets/cmake-macros/examples.cmake
Normal file
@ -0,0 +1,26 @@
|
||||
#! [qt5_wrap_cpp]
|
||||
set(SOURCES myapp.cpp main.cpp)
|
||||
qt5_wrap_cpp(SOURCES myapp.h)
|
||||
add_executable(myapp ${SOURCES})
|
||||
#! [qt5_wrap_cpp]
|
||||
|
||||
#! [qt5_add_resources]
|
||||
set(SOURCES main.cpp)
|
||||
qt5_add_resources(SOURCES example.qrc)
|
||||
add_executable(myapp ${SOURCES})
|
||||
#! [qt5_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]
|
||||
|
||||
#! [qt5_add_binary_resources]
|
||||
qt5_add_binary_resources(resources project.qrc OPTIONS -no-compress)
|
||||
add_dependencies(myapp resources)
|
||||
#! [qt5_add_binary_resources]
|
||||
|
||||
#! [qt5_generate_moc]
|
||||
qt5_generate_moc(main.cpp main.moc TARGET myapp)
|
||||
#! [qt5_generate_moc]
|
212
src/corelib/doc/src/cmake-macros.qdoc
Normal file
212
src/corelib/doc/src/cmake-macros.qdoc
Normal file
@ -0,0 +1,212 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 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$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
/*!
|
||||
\page qtcore-cmake-qt5-wrap-cpp.html
|
||||
\ingroup cmake-macros-qtcore
|
||||
|
||||
\title qt5_wrap_cpp
|
||||
|
||||
\brief Creates \c{.moc} files from sources.
|
||||
|
||||
\section1 Synopsis
|
||||
|
||||
\badcode
|
||||
qt5_wrap_cpp(<VAR> src_file1 [src_file2 ...]
|
||||
[TARGET target]
|
||||
[OPTIONS ...]
|
||||
[DEPENDS ...])
|
||||
\endcode
|
||||
|
||||
\section1 Description
|
||||
|
||||
Creates rules for calling \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}.
|
||||
|
||||
\section1 Options
|
||||
|
||||
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.
|
||||
|
||||
\section1 Examples
|
||||
|
||||
\snippet cmake-macros/examples.cmake qt5_wrap_cpp
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page qtcore-cmake-qt5-add-resources.html
|
||||
\ingroup cmake-macros-qtcore
|
||||
|
||||
\title qt5_add_resources
|
||||
|
||||
\brief Compiles binary resources into source code.
|
||||
|
||||
\section1 Synopsis
|
||||
|
||||
\badcode
|
||||
qt5_add_resources(<VAR> file1.qrc [file2.qrc ...]
|
||||
[OPTIONS ...])
|
||||
\endcode
|
||||
|
||||
\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>}.
|
||||
|
||||
\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.
|
||||
|
||||
\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}.
|
||||
|
||||
\section1 Examples
|
||||
|
||||
\snippet cmake-macros/examples.cmake qt5_add_resources
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page qtcore-cmake-qt5-add-big-resources.html
|
||||
\ingroup cmake-macros-qtcore
|
||||
|
||||
\title qt5_add_big_resources
|
||||
|
||||
\brief Compiles big binary resources into object code.
|
||||
|
||||
\section1 Synopsis
|
||||
|
||||
\badcode
|
||||
qt5_add_big_resources(<VAR> file1.qrc [file2.qrc ...]
|
||||
[OPTIONS ...])
|
||||
\endcode
|
||||
|
||||
\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.
|
||||
|
||||
\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}.
|
||||
|
||||
\section1 Examples
|
||||
|
||||
\snippet cmake-macros/examples.cmake qt5_add_big_resources
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page qtcore-cmake-qt5_add_binary_resources.html
|
||||
\ingroup cmake-macros-qtcore
|
||||
|
||||
\title qt5_add_binary_resources
|
||||
|
||||
\brief Creates an \c{RCC} file from a list of Qt resource files.
|
||||
|
||||
\section1 Synopsis
|
||||
|
||||
\badcode
|
||||
qt5_add_binary_resources(target file1.qrc [file2.qrc ...]
|
||||
[DESTINATION ...]
|
||||
[OPTIONS ...])
|
||||
\endcode
|
||||
|
||||
\section1 Description
|
||||
|
||||
Adds a custom \c target that compiles Qt resource files into a binary \c{.rcc}
|
||||
file.
|
||||
|
||||
\section1 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}.
|
||||
|
||||
\section1 Examples
|
||||
|
||||
\snippet cmake-macros/examples.cmake qt5_add_binary_resources
|
||||
*/
|
||||
|
||||
/*!
|
||||
\page qtcore-cmake-qt5-generate-moc.html
|
||||
\ingroup cmake-macros-qtcore
|
||||
|
||||
\title qt5_generate_moc
|
||||
|
||||
\brief Calls moc on an input file.
|
||||
|
||||
\section1 Synopsis
|
||||
|
||||
\badcode
|
||||
qt5_generate_moc(src_file dest_file
|
||||
[TARGET target])
|
||||
\endcode
|
||||
|
||||
\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.
|
||||
|
||||
\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.
|
||||
|
||||
\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}.
|
||||
|
||||
\section1 Examples
|
||||
|
||||
\snippet cmake-macros/examples.cmake qt5_generate_moc
|
||||
*/
|
Loading…
Reference in New Issue
Block a user