diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2021-09-19 14:47:10 +0300 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2021-10-19 11:11:33 +0000 |
commit | cea845f2a81299232fcec7c07203df4816ac893b (patch) | |
tree | ee0846d3efd4bda01dba6dda8a9e94c88c3bc296 | |
parent | 2ad74c3044578eb486fcbd0b7bd665e554d7ccb6 (diff) | |
download | qbs-cea845f2a81299232fcec7c07203df4816ac893b.tar.gz |
doc: add page for Qt module provider
Change-Id: Ic912c4b11780503d368602c8c103fd9ece589853
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | doc/qbs.qdoc | 2 | ||||
-rw-r--r-- | doc/reference/module-providers/qt-module-provider.qdoc | 76 | ||||
-rw-r--r-- | doc/reference/modules/qt-modules.qdoc | 18 |
3 files changed, 79 insertions, 17 deletions
diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc index 6ac67663b..ef5e71081 100644 --- a/doc/qbs.qdoc +++ b/doc/qbs.qdoc @@ -912,7 +912,7 @@ For example, a profile for building C++ applications contains at least the installation path and the type of the compiler toolchain. A profile for building Qt applications contains the toolchain-specific properties as well - as \l{Qt-specific Module Provider Properties}{the path to the Qt installation}. + as \l{Qt::qmakeFilePaths}{the path to the Qt installation}. This topic describes profiles stored in the \QBS settings. In some cases it might be beneficial to keep profiles explicitly in the project sources. This diff --git a/doc/reference/module-providers/qt-module-provider.qdoc b/doc/reference/module-providers/qt-module-provider.qdoc new file mode 100644 index 000000000..cd77a0d12 --- /dev/null +++ b/doc/reference/module-providers/qt-module-provider.qdoc @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2021 Ivan Komissarov (abbapoh@gmail.com) +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qbs. +** +** $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$ +** +****************************************************************************/ + +/*! + \qmltype Qt + \inqmlmodule QbsModuleProviders + + \brief Module provider that generates Qt modules. + + Looking up a Qt installation happens via a \l{Module Providers}{module provider}. + By default, if a dependency to a Qt module is encountered, \QBS collects all Qt installations + it can find. This lookup happens by searching for \c qmake executables in the \c PATH + environment variable. Alternatively, you can explicitly tell \QBS which Qt + installations it should consider by setting the qmakeFilePaths + module provider \l{Parameterizing Module Providers}{property}. In that case, + the environment will be ignored. For instance, with the following Linux command line, + \QBS will build the project against a custom Qt instead of the standard one in \c{/usr/bin}: + \code + $ qbs moduleProviders.Qt.qmakeFilePaths:/opt/myqt/bin/qmake + \endcode + You can also set the module provider property in a profile. The simplest way to do + this is via the \l setup-qt tool. For examples of how to use this tool, see the + \l{Managing Qt Versions} section. + + This provider is activated automatically when encountering a dependency on the Qt + module and the \l{Product::qbsModuleProviders}{qbsModuleProviders} property + is \c undefined: + \code + CppApplication { + Depends { name: "Qt.core" } + files: "main.cpp" + } + \endcode + + Alternatively, you can activate this provider explicitly via the + \l{Product::qbsModuleProviders}{qbsModuleProviders} property: + \code + CppApplication { + Depends { name: "Qt.core" } + files: "main.cpp" + qbsModuleProviders: "Qt" + } + \endcode +*/ + +/*! + \qmlproperty stringList Qt::qmakeFilePaths + + List of paths to \c qmake executables. + + \defaultvalue undefined +*/ diff --git a/doc/reference/modules/qt-modules.qdoc b/doc/reference/modules/qt-modules.qdoc index 87e738b67..e3fee3c72 100644 --- a/doc/reference/modules/qt-modules.qdoc +++ b/doc/reference/modules/qt-modules.qdoc @@ -35,6 +35,8 @@ The \c{Qt.*} modules contain properties and rules for Qt. + Qt modules are generated by the \l[QML]{Qt} module provider. + \section1 Creating Dependencies to Qt Modules The Qt modules are grouped using the prefix \c Qt. If your product depends @@ -54,22 +56,6 @@ The Qt modules that have properties and relevant file tags are described in separate topics. - \section1 Qt-specific Module Provider Properties - - Looking up a Qt installation happens via a \l{Module Providers}{module provider}. - By default, if a dependency to a Qt module is encountered, \QBS collects all Qt installations - it can find. This lookup happens by searching for \c qmake executables in the \c PATH - environment variable. Alternatively, you can explicitly tell \QBS which Qt - installations it should consider by setting the \c Qt.qmakeFilePaths - \l{Parameterizing Module Providers}{module provider property}. In that case, - the environment will be ignored. For instance, with the following Linux command line, - \QBS will build the project against a custom Qt instead of the standard one in \c{/usr/bin}: - \code - $ qbs moduleProviders.Qt.qmakeFilePaths:/opt/myqt/bin/qmake - \endcode - You can also set the module provider property in a profile. The simplest way to do - this is via the \l setup-qt tool. - \section1 List of Submodules \table |