summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2021-09-19 14:47:10 +0300
committerIvan Komissarov <ABBAPOH@gmail.com>2021-10-19 11:11:33 +0000
commitcea845f2a81299232fcec7c07203df4816ac893b (patch)
treeee0846d3efd4bda01dba6dda8a9e94c88c3bc296
parent2ad74c3044578eb486fcbd0b7bd665e554d7ccb6 (diff)
downloadqbs-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.qdoc2
-rw-r--r--doc/reference/module-providers/qt-module-provider.qdoc76
-rw-r--r--doc/reference/modules/qt-modules.qdoc18
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