aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/doc.qbs1
-rw-r--r--doc/images/qbs-settings-gui.pngbin0 -> 31364 bytes
-rw-r--r--doc/qbs.qdoc2
-rw-r--r--doc/reference/cli/builtin/cli-build.qdoc115
-rw-r--r--doc/reference/cli/builtin/cli-clean.qdoc72
-rw-r--r--doc/reference/cli/builtin/cli-dump-nodes-tree.qdoc72
-rw-r--r--doc/reference/cli/builtin/cli-generate.qdoc82
-rw-r--r--doc/reference/cli/builtin/cli-help.qdoc64
-rw-r--r--doc/reference/cli/builtin/cli-install.qdoc81
-rw-r--r--doc/reference/cli/builtin/cli-resolve.qdoc73
-rw-r--r--doc/reference/cli/builtin/cli-run.qdoc94
-rw-r--r--doc/reference/cli/builtin/cli-shell.qdoc85
-rw-r--r--doc/reference/cli/builtin/cli-status.qdoc68
-rw-r--r--doc/reference/cli/builtin/cli-update-timestamps.qdoc70
-rw-r--r--doc/reference/cli/cli-options.qdocinc461
-rw-r--r--doc/reference/cli/cli-parameters.qdocinc92
-rw-r--r--doc/reference/cli/cli.qdoc43
-rw-r--r--doc/reference/cli/tools/cli-config-ui.qdoc67
-rw-r--r--doc/reference/cli/tools/cli-config.qdoc104
-rw-r--r--doc/reference/cli/tools/cli-create-project.qdoc72
-rw-r--r--doc/reference/cli/tools/cli-setup-android.qdoc (renamed from doc/reference/list-of-tools.qdoc)62
-rw-r--r--doc/reference/cli/tools/cli-setup-qt.qdoc75
-rw-r--r--doc/reference/cli/tools/cli-setup-toolchains.qdoc85
-rw-r--r--doc/reference/reference.qdoc2
24 files changed, 1908 insertions, 34 deletions
diff --git a/doc/doc.qbs b/doc/doc.qbs
index 2a0e16587..a02e8f098 100644
--- a/doc/doc.qbs
+++ b/doc/doc.qbs
@@ -20,6 +20,7 @@ Product {
"config/style/qt5-sidebar.html",
"reference/**/*",
"templates/**/*",
+ "images/**",
]
Group {
name: "main qdocconf file"
diff --git a/doc/images/qbs-settings-gui.png b/doc/images/qbs-settings-gui.png
new file mode 100644
index 000000000..197340882
--- /dev/null
+++ b/doc/images/qbs-settings-gui.png
Binary files differ
diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc
index 0be7781d5..b0374eb04 100644
--- a/doc/qbs.qdoc
+++ b/doc/qbs.qdoc
@@ -76,7 +76,7 @@
\li \l{List of Convenience Items}
\endlist
\li \l{List of Built-in Services}
- \li \l{List of Command-line Tools}
+ \li \l{Command-Line Interface}
\li \l{List of Modules}
\li \l{Command and JavaScriptCommand}
\endlist
diff --git a/doc/reference/cli/builtin/cli-build.qdoc b/doc/reference/cli/builtin/cli-build.qdoc
new file mode 100644
index 000000000..dd0489eb8
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-build.qdoc
@@ -0,0 +1,115 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-build.html
+ \ingroup cli
+
+ \title build
+ \brief Builds a project.
+
+ \section1 Synopsis
+
+ \code
+ qbs build [options] [[configuration-name] [property:value] ...]
+ \endcode
+
+ \section1 Description
+
+ Builds projects in one or more configurations.
+
+ You can specify \l{Project Item}{project}, \l{Product Item}{product}, or
+ \l{List of Modules}{module} properties, as well as a \l{Profile Item}
+ {profile} separately for each configuration.
+
+ This is the default command.
+
+ If the build directory does not exist, it will be created.
+
+ For more information, see \l{Building Applications}.
+
+ \section1 Options
+
+ \include cli-options.qdocinc all-products
+ \include cli-options.qdocinc build-directory
+ \include cli-options.qdocinc changed-files
+ \include cli-options.qdocinc check-outputs
+ \include cli-options.qdocinc check-timestamps
+ \include cli-options.qdocinc clean-install-root
+ \include cli-options.qdocinc command-echo-mode
+ \include cli-options.qdocinc dry-run
+ \include cli-options.qdocinc project-file
+ \include cli-options.qdocinc force-probe-execution
+ \include cli-options.qdocinc jobs
+ \include cli-options.qdocinc keep-going
+ \include cli-options.qdocinc less-verbose
+ \include cli-options.qdocinc log-level
+ \include cli-options.qdocinc log-time
+ \include cli-options.qdocinc more-verbose
+ \include cli-options.qdocinc no-install
+ \include cli-options.qdocinc products-specified
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc show-progress
+ \include cli-options.qdocinc wait-lock
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc configuration-name
+ \include cli-parameters.qdocinc property
+
+ \section1 Examples
+
+ Builds the application specified by the \c .qbs file in the current
+ directory using the default profile:
+
+ \code
+ qbs
+ \endcode
+
+ Builds the application using four concurrent build jobs:
+
+ \code
+ qbs -j 4
+ \endcode
+
+ Builds the default configuration of an application using the profile called
+ \c Android:
+
+ \code
+ qbs build profile:Android
+ \endcode
+
+ Builds the application using different \l{Module cpp}{cpp module} properties
+ for debug and release configurations. For the debug configuration, warnings
+ will cause the build to fail, whereas for the release configuration, the
+ size of the build artifacts will be optimized:
+
+ \code
+ qbs build debug modules.cpp.treatWarningsAsErrors:true release modules.cpp.optimization:small
+ \endcode
+*/
diff --git a/doc/reference/cli/builtin/cli-clean.qdoc b/doc/reference/cli/builtin/cli-clean.qdoc
new file mode 100644
index 000000000..1aa07a802
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-clean.qdoc
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-clean.html
+ \ingroup cli
+
+ \title clean
+ \brief Removes the files generated during a build.
+
+ \section1 Synopsis
+
+ \code
+ qbs clean [options] [configuration-name]
+ \endcode
+
+ \section1 Description
+
+ Removes build \l{Artifact Item}{artifacts} for the specified build
+ configuration.
+
+ \section1 Options
+
+ \include cli-options.qdocinc build-directory
+ \include cli-options.qdocinc dry-run
+ \include cli-options.qdocinc keep-going
+ \include cli-options.qdocinc less-verbose
+ \include cli-options.qdocinc log-level
+ \include cli-options.qdocinc log-time
+ \include cli-options.qdocinc more-verbose
+ \include cli-options.qdocinc products-specified
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc show-progress
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc configuration-name
+
+ \section1 Examples
+
+ Removes the build artifacts in the current directory for the default build
+ configuration:
+
+ \code
+ qbs clean
+ \endcode
+*/
diff --git a/doc/reference/cli/builtin/cli-dump-nodes-tree.qdoc b/doc/reference/cli/builtin/cli-dump-nodes-tree.qdoc
new file mode 100644
index 000000000..fa5d4db29
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-dump-nodes-tree.qdoc
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-dump-nodes-tree.html
+ \ingroup cli
+
+ \title dump-nodes-tree
+ \brief Dumps the nodes in the build graph to \c stdout.
+
+ \section1 Synopsis
+
+ \code
+ qbs dump-nodes-tree [options] [[configuration-name] [property:value] ...]
+ \endcode
+
+ \section1 Description
+
+ Dumps the nodes in the build graph to \c stdout.
+
+ This is an internal command that is used for debugging purposes only.
+
+ \section1 Options
+
+ \include cli-options.qdocinc build-directory
+ \include cli-options.qdocinc project-file
+ \include cli-options.qdocinc less-verbose
+ \include cli-options.qdocinc log-level
+ \include cli-options.qdocinc log-time
+ \include cli-options.qdocinc more-verbose
+ \include cli-options.qdocinc products-specified
+ \include cli-options.qdocinc settings-dir
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc configuration-name
+ \include cli-parameters.qdocinc property
+
+ \section1 Examples
+
+ Dumps the nodes tree into a file called \c nodes-tree.log:
+
+ \code
+ qbs dump-nodes-tree >nodes-tree.log
+ \endcode
+
+*/
diff --git a/doc/reference/cli/builtin/cli-generate.qdoc b/doc/reference/cli/builtin/cli-generate.qdoc
new file mode 100644
index 000000000..3d7d4cdbf
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-generate.qdoc
@@ -0,0 +1,82 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-generate.html
+ \ingroup cli
+
+ \title generate
+ \brief Invokes a project generator, for example to create project files for
+ another build tool.
+
+ \section1 Synopsis
+
+ \code
+ qbs generate [options] [[configuration-name] [property:value] ...]
+ \endcode
+
+ \section1 Description
+
+ Invokes a project generator, for example to create project files for another
+ build tool.
+
+ For more information, see \l{Generators}.
+
+ \section1 Options
+
+ \include cli-options.qdocinc generator
+ \include cli-options.qdocinc build-directory
+ \include cli-options.qdocinc project-file
+ \include cli-options.qdocinc install-root
+ \include cli-options.qdocinc less-verbose
+ \include cli-options.qdocinc log-level
+ \include cli-options.qdocinc log-time
+ \include cli-options.qdocinc more-verbose
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc show-progress
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc configuration-name
+ \include cli-parameters.qdocinc property
+
+ \section1 Examples
+
+ Generates a project for Microsoft Visual Studio:
+
+ \code
+ qbs generate -g visualstudio2015
+ \endcode
+
+ Generates a \l{https://clang.llvm.org/docs/JSONCompilationDatabase.html}
+ {Clang compilation database (clangdb)}:
+
+ \code
+ qbs generate --generator clangdb
+ \endcode
+*/
diff --git a/doc/reference/cli/builtin/cli-help.qdoc b/doc/reference/cli/builtin/cli-help.qdoc
new file mode 100644
index 000000000..c36d03317
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-help.qdoc
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-help.html
+ \ingroup cli
+
+ \title help
+ \brief Shows general or command-specific help.
+
+ \section1 Synopsis
+
+ \code
+ qbs help [<command>]
+ \endcode
+
+ \section1 Description
+
+ Shows a list of available commands with descriptions. Specify a command
+ name to list the options that the command takes with descriptions.
+
+ \section1 Options
+
+ This command takes no options.
+
+ \section1 Examples
+
+ Shows an overview of all commands:
+
+ \code
+ qbs help
+ \endcode
+
+ Lists the options that the \c build command takes:
+
+ \code
+ qbs help build
+ \endcode
+*/
diff --git a/doc/reference/cli/builtin/cli-install.qdoc b/doc/reference/cli/builtin/cli-install.qdoc
new file mode 100644
index 000000000..d68d4d922
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-install.qdoc
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-install.html
+ \ingroup cli
+
+ \title install
+ \brief Installs a project.
+
+ \section1 Synopsis
+
+ \code
+ qbs install [options] [[configuration-name] [property:value] ...]
+ \endcode
+
+ \section1 Description
+
+ Install all files marked as installable to their respective destinations.
+ The project is built first, if necessary, unless the \c --no-build option is
+ given.
+
+ For more information, see \l{Installing Files}.
+
+ \section1 Options
+
+ \include cli-options.qdocinc all-products
+ \include cli-options.qdocinc build-directory
+ \include cli-options.qdocinc changed-files
+ \include cli-options.qdocinc check-outputs
+ \include cli-options.qdocinc check-timestamps
+ \include cli-options.qdocinc clean-install-root
+ \include cli-options.qdocinc command-echo-mode
+ \include cli-options.qdocinc dry-run
+ \include cli-options.qdocinc project-file
+ \include cli-options.qdocinc force-probe-execution
+ \include cli-options.qdocinc install-root
+ \include cli-options.qdocinc jobs
+ \include cli-options.qdocinc keep-going
+ \include cli-options.qdocinc less-verbose
+ \include cli-options.qdocinc log-level
+ \include cli-options.qdocinc log-time
+ \include cli-options.qdocinc more-verbose
+ \include cli-options.qdocinc no-build
+ \include cli-options.qdocinc products-specified
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc wait-lock
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc configuration-name
+ \include cli-parameters.qdocinc property
+
+ \section1 Examples
+
+*/
diff --git a/doc/reference/cli/builtin/cli-resolve.qdoc b/doc/reference/cli/builtin/cli-resolve.qdoc
new file mode 100644
index 000000000..fd2035f57
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-resolve.qdoc
@@ -0,0 +1,73 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-resolve.html
+ \ingroup cli
+
+ \title resolve
+ \brief Resolves a project without building it.
+
+ \section1 Synopsis
+
+ \code
+ qbs resolve [options] [[configuration-name] [property:value] ...]
+ \endcode
+
+ \section1 Description
+
+ Resolves a \l{Project Item}{project} in one or more configurations. Run this
+ command to change the properties of an existing build.
+
+ \section1 Options
+
+ \include cli-options.qdocinc build-directory
+ \include cli-options.qdocinc dry-run
+ \include cli-options.qdocinc project-file
+ \include cli-options.qdocinc force-probe-execution
+ \include cli-options.qdocinc jobs
+ \include cli-options.qdocinc less-verbose
+ \include cli-options.qdocinc log-level
+ \include cli-options.qdocinc log-time
+ \include cli-options.qdocinc more-verbose
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc show-progress
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc configuration-name
+ \include cli-parameters.qdocinc property
+
+ \section1 Examples
+
+ Resolves the default configuration of the project in the current directory:
+
+ \code
+ qbs resolve
+ \endcode
+*/
diff --git a/doc/reference/cli/builtin/cli-run.qdoc b/doc/reference/cli/builtin/cli-run.qdoc
new file mode 100644
index 000000000..5b9b6456a
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-run.qdoc
@@ -0,0 +1,94 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-run.html
+ \ingroup cli
+
+ \title run
+ \brief Runs an executable generated by building a project.
+
+ \section1 Synopsis
+
+ \code
+ qbs run [options] [configuration-name] [property:value] ... [ -- <arguments>]
+ \endcode
+
+ \section1 Description
+
+ Runs the specified product's executable with the specified \c <arguments>.
+ If the project has only one product, the \c --products option may be
+ omitted.
+
+ The product will be built if it is not up to date, unless the \c --no-build
+ option is specified. For more information, see \l{build}.
+
+ For more information about running applications, see
+ \l{Running Applications}.
+
+ \section1 Options
+
+ \include cli-options.qdocinc all-products
+ \include cli-options.qdocinc build-directory
+ \include cli-options.qdocinc changed-files
+ \include cli-options.qdocinc check-outputs
+ \include cli-options.qdocinc check-timestamps
+ \include cli-options.qdocinc clean-install-root
+ \include cli-options.qdocinc command-echo-mode
+ \include cli-options.qdocinc dry-run
+ \include cli-options.qdocinc project-file
+ \include cli-options.qdocinc force-probe-execution
+ \include cli-options.qdocinc install-root
+ \include cli-options.qdocinc jobs
+ \include cli-options.qdocinc keep-going
+ \include cli-options.qdocinc less-verbose
+ \include cli-options.qdocinc log-level
+ \include cli-options.qdocinc log-time
+ \include cli-options.qdocinc more-verbose
+ \include cli-options.qdocinc no-build
+ \include cli-options.qdocinc products-specified
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc wait-lock
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc configuration-name
+ \include cli-parameters.qdocinc property
+
+ \section1 Arguments
+
+ \include cli-parameters.qdocinc arguments
+
+ \section1 Examples
+
+ Runs the Qt Creator application:
+
+ \code
+ qbs run --products qtcreator
+ \endcode
+*/
diff --git a/doc/reference/cli/builtin/cli-shell.qdoc b/doc/reference/cli/builtin/cli-shell.qdoc
new file mode 100644
index 000000000..d0b717901
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-shell.qdoc
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-shell.html
+ \ingroup cli
+
+ \title shell
+ \brief Opens a shell with a product's environment.
+
+ \section1 Synopsis
+
+ \code
+ qbs shell [options] [configuration-name] [property:value]
+ \endcode
+
+ \section1 Description
+
+ Opens a shell in the environment that a build with the specified parameters
+ would use.
+
+ For more information, see \l{Using the Shell}.
+
+ \section1 Options
+
+ \include cli-options.qdocinc build-directory
+ \include cli-options.qdocinc changed-files
+ \include cli-options.qdocinc check-outputs
+ \include cli-options.qdocinc check-timestamps
+ \include cli-options.qdocinc clean-install-root
+ \include cli-options.qdocinc command-echo-mode
+ \include cli-options.qdocinc dry-run
+ \include cli-options.qdocinc project-file
+ \include cli-options.qdocinc force-probe-execution
+ \include cli-options.qdocinc jobs
+ \include cli-options.qdocinc keep-going
+ \include cli-options.qdocinc less-verbose
+ \include cli-options.qdocinc log-level
+ \include cli-options.qdocinc log-time
+ \include cli-options.qdocinc more-verbose
+ \include cli-options.qdocinc no-install
+ \include cli-options.qdocinc products-specified
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc show-progress
+ \include cli-options.qdocinc wait-lock
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc configuration-name
+ \include cli-parameters.qdocinc property
+
+ \section1 Examples
+
+ Opens a shell with the same environment that \QBS uses when building the
+ project:
+
+ \code
+ qbs shell
+ \endcode
+*/
diff --git a/doc/reference/cli/builtin/cli-status.qdoc b/doc/reference/cli/builtin/cli-status.qdoc
new file mode 100644
index 000000000..ecafe3956
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-status.qdoc
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-status.html
+ \ingroup cli
+
+ \title status
+ \brief Shows the status of files in the project directory.
+
+ \section1 Synopsis
+
+ \code
+ qbs status [options] [configuration-name] [property:value]
+ \endcode
+
+ \section1 Description
+
+ Lists all the files in the project directory and shows whether they are
+ known to \QBS in the respective configuration.
+
+ \section1 Options
+
+ \include cli-options.qdocinc build-directory
+ \include cli-options.qdocinc project-file
+ \include cli-options.qdocinc less-verbose
+ \include cli-options.qdocinc log-level
+ \include cli-options.qdocinc more-verbose
+ \include cli-options.qdocinc settings-dir
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc configuration-name
+ \include cli-parameters.qdocinc property
+
+ \section1 Examples
+
+ To list the files in the project directory and view their status:
+
+ \code
+ qbs status
+ \endcode
+*/
diff --git a/doc/reference/cli/builtin/cli-update-timestamps.qdoc b/doc/reference/cli/builtin/cli-update-timestamps.qdoc
new file mode 100644
index 000000000..6b15cc26b
--- /dev/null
+++ b/doc/reference/cli/builtin/cli-update-timestamps.qdoc
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-update-timestamps.html
+ \ingroup cli
+
+ \title update-timestamps
+ \brief Marks the build as up-to-date.
+
+ \section1 Synopsis
+
+ \code
+ qbs update-timestamps [options] [[configuration-name] [property:value] ...]
+ \endcode
+
+ \section1 Description
+
+ Updates the timestamps of all build \l{Artifact Item}{artifacts}, causing
+ the next builds of the \l{Project Item}{project} to do nothing until source
+ files are updated again.
+
+ This command is useful if you know that the current changes to source files
+ are irrelevant to the build.
+
+ \note Using this command causes a discrepancy between the actual state of
+ source files and the information in the build graph, so be careful.
+
+ \section1 Options
+
+ \include cli-options.qdocinc build-directory
+ \include cli-options.qdocinc project-file
+ \include cli-options.qdocinc less-verbose
+ \include cli-options.qdocinc log-level
+ \include cli-options.qdocinc more-verbose
+ \include cli-options.qdocinc products-specified
+ \include cli-options.qdocinc settings
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc configuration-name
+ \include cli-parameters.qdocinc property
+
+ \section1 Examples
+*/
diff --git a/doc/reference/cli/cli-options.qdocinc b/doc/reference/cli/cli-options.qdocinc
new file mode 100644
index 000000000..2b8c751cf
--- /dev/null
+++ b/doc/reference/cli/cli-options.qdocinc
@@ -0,0 +1,461 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+
+//! [all-products]
+
+ \section2 \c --all-products
+
+ Processes all \l{Product Item}{products}, even if their \c builtByDefault
+ property is \c false.
+
+//! [all-products]
+
+//! [blacklist]
+
+ \section2 \c {--blacklist <blacklist>}
+
+ Ignores files whose names match the patterns specified by \c <blacklist>.
+ The list entries can contain wildcards and are separated by commas.
+
+ By default, no files are ignored.
+
+//! [blacklist]
+
+//! [build-directory]
+
+ \section2 \c {--build-directory|-d <directory>}
+
+ Specifies a \c <directory> where build artifacts are stored.
+
+ The default value is the current directory unless
+ \c preferences.defaultBuildDirectory is set.
+
+ Relative paths will be interpreted relative to the current directory.
+
+ You can use the following special values as placeholders:
+
+ \list
+ \li \c @project is expanded to the name of the project file excluding
+ the extension \c .qbs.
+ \li \c @path is expanded to the name of the directory containing the
+ project file.
+ \endlist
+
+//! [build-directory]
+
+//! [changed-files]
+
+ \section2 \c {--changed-files <file>[,<file>...]}
+
+ Assumes that the files specified by \c <file>, and only those files, have
+ changed.
+
+//! [changed-files]
+
+//! [check-outputs]
+
+ \section2 \c --check-outputs
+
+ Forces transformer output \l{Artifact Item}{artifact} checks.
+
+ Verifies that the output artifacts declared by \l{Rule Item}{rules} in the
+ \l{Project Item}{project} are actually created.
+
+//! [check-outputs]
+
+//! [check-timestamps]
+
+ \section2 \c --check-timestamps
+
+ Forces timestamp checks.
+
+ Retrieves the timestamps from the file system, instead of using the file
+ timestamps that are stored in the build graph.
+
+//! [check-timestamps]
+
+//! [clean-install-root]
+
+ \section2 \c --clean-install-root
+
+ Removes the installation base directory before installing.
+
+//! [clean-install-root]
+
+//! [command-echo-mode]
+
+ \section2 \c {--command-echo-mode <mode>}
+
+ Determines what kind of output to show when executing commands.
+
+ Possible values of \c <mode> are:
+
+ \list
+ \li \c silent
+ \li \c summary (default value)
+ \li \c command-line
+ \li \c command-line-with-environment
+ \endlist
+
+//! [command-echo-mode]
+
+//! [detect-qt-versions]
+
+ \section2 \c --detect
+
+ Attempts to auto-detect all known Qt versions, looking them up in the PATH
+ environment variable.
+
+//! [detect-qt-versions]
+
+//! [detect-toolchains]
+
+ \section2 \c --detect
+
+ Attempts to auto-detect all known toolchains, looking them up in the PATH
+ environment variable.
+
+//! [detect-toolchains]
+
+//! [dry-run]
+
+ \section2 \c --dry-run|-n
+
+ Performs a dry run. No commands will be executed and no permanent changes to
+ the build graph will be done.
+
+//! [dry-run]
+
+//! [export]
+
+ \section2 \c {--export <file>}
+
+ Exports settings to the specified \c <file>.
+
+//! [export]
+
+//! [project-file]
+
+ \section2 \c {[--file|-f <file>]}
+
+ Uses \c <file> as the project file. If \c <file> is a directory and it
+ contains a single file with the extension \c .qbs, that file will be used.
+
+ If this option is not given at all, the behavior is the same as for
+ \c{-f <working-dir>}.
+
+//! [project-file]
+
+//! [flat]
+
+ \section2 \c --flat
+
+ Does not create nested project files, even if there are subdirectories and
+ the top-level directory does not contain any files.
+
+//! [flat]
+
+//! [force-probe-execution]
+
+ \section2 \c --force-probe-execution
+
+ Forces re-execution of all \l{Probe Item}{Probe items}' configure scripts,
+ rather than using the cached data.
+
+//! [force-probe-execution]
+
+//! [generator]
+
+ \section2 \c {--generator|-g <generator>}
+
+ Uses the specified build system generator.
+
+ Possible values of \c <generator> include:
+
+ \list
+ \li \c clangdb
+ \li \c visualstudio2015
+ \endlist
+
+ The available generators are listed if you run the \c {qbs generate} command
+ without passing a generator to it.
+
+//! [generator]
+
+//! [help]
+
+ \section2 \c {--help|-h|-?}
+
+ Displays help for the command.
+
+//! [help]
+
+//! [import]
+
+ \section2 \c {--import <file>}
+
+ Imports settings from the specified \c <file>.
+
+//! [import]
+
+//! [install-root]
+
+ \section2 \c {--install-root <directory>}
+
+ Installs into the specified \c <directory>. If the directory does not exist,
+ it will be created.
+
+ The default value is \c <build dir>/install-root.
+
+ Use the special value \c @sysroot to install into the \c sysroot. That is,
+ the value of the \l{Module qbs}{qbs.sysroot} property.
+
+//! [install-root]
+
+//! [jobs]
+
+ \section2 \c {--jobs|-j <n>}
+
+ Uses \c <n> concurrent build jobs, where \c <n> must be an integer greater
+ than zero.
+
+ The default is the number of logical cores.
+
+//! [jobs]
+
+//! [keep-going]
+
+ \section2 \c --keep-going|-k
+
+ Keeps going when errors occur, if at all possible.
+
+//! [keep-going]
+
+//! [less-verbose]
+
+ \section2 \c --less-verbose|-q
+
+ Becomes more quiet by decreasing the log level by one. This option can be
+ given more than once. Excessive occurrences have no effect.
+
+ If the option \c --log-level appears anywhere on the command line in
+ addition to this option, its value is taken as the base for the decrease.
+
+//! [less-verbose]
+
+//! [list-root]
+
+ \section2 \c {--list [<root> ...]}
+
+ Lists keys under the key \c <root> or all keys if the root is not specified.
+
+ Possible values are:
+
+ \list
+ \li \c defaultProfile is the default \l{Profile Item}{profile} to use
+ if a profile is not specified
+ \li \c preferences accepts build preferences as second-level keys
+ \li \c profiles accepts profile names as second-level keys
+
+ \endlist
+
+//! [list-root]
+
+//! [log-level]
+
+ \section2 \c {--log-level <level>}
+
+ Uses the specified log level.
+
+ Possible values of \c <level> are:
+
+ \list
+ \li \c error
+ \li \c warning
+ \li \c info (default value)
+ \li \c debug
+ \li \c trace
+ \endlist
+
+//! [log-level]
+
+//! [log-time]
+
+ \section2 \c --log-time
+
+ Logs the time that the operations involved in this command take.
+
+ This option is implied in log levels \c debug and higher.
+
+ This option is mutually exclusive with \c --show-progress.
+
+//! [log-time]
+
+//! [more-verbose]
+
+ \section2 \c --more-verbose|-v
+
+ Becomes more verbose by increasing the log level by one. This option can be
+ given more than once. Excessive occurrences have no effect.
+
+ If the option \c --log-level appears anywhere on the command line in
+ addition to this option, its value is taken as the base for the increase.
+
+//! [more-verbose]
+
+//! [ndk-dir]
+
+ \section2 \c {--ndk-dir <directory>}
+
+ Specifies a \c <directory> that contains an Android NDK.
+
+//! [ndk-dir]
+
+//! [no-build]
+
+ \section2 \c --no-build
+
+ Does not re-build the project before installing or running it.
+
+//! [no-build]
+
+//! [no-install]
+
+ \section2 \c --no-install
+
+ Does not install any artifacts as part of the build process.
+
+//! [no-install]
+
+//! [products-specified]
+
+ \section2 \c {--products|-p <name>[,<name>...]}
+
+ Takes only the \l{Product Item}{products} specified by \c <name> and their
+ dependencies into account.
+
+//! [products-specified]
+
+//! [qt-dir]
+
+ \section2 \c {--qt-dir <directory>}
+
+ Specifies a \c <directory> that contains a Qt version.
+
+//! [qt-dir]
+
+//! [sdk-dir]
+
+ \section2 \c {--sdk-dir <directory>}
+
+ Specifies a \c <directory> that contains an Android SDK.
+
+//! [sdk-dir]
+
+//! [settings-dir]
+
+ \section2 \c {--settings-dir <directory>}
+
+ Reads all settings (such as \l{Profile Item}{profile} information) from the
+ specified \c <directory>. If the directory does not exist, it will be
+ created.
+
+ The default value is system-specific. For example:
+
+ \list
+ \li Linux: \c $HOME/.config/QtProject/qbs
+ \li Windows: \c %APPDATA%\QtProject\qbs
+ \li macOS: \c $HOME/Library/Preferences/qbs
+ \endlist
+
+//! [settings-dir]
+
+//! [show-progress]
+
+ \section2 \c --show-progress
+
+ Shows how command execution is progressing.
+
+ This option is mutually exclusive with \c --log-time.
+
+ \note This option is not available on a Windows host.
+
+//! [show-progress]
+
+//! [type]
+
+ \section2 \c {--type <toolchain type>}
+
+ Specifies the type of the toolchain. Needed if \QBS cannot determine the
+ compiler from the name of the executable file located in the specified
+ directory.
+
+ Possible values include:
+
+ \list
+ \li \c clang
+ \li \c gcc
+ \li \c mingw
+ \li \c msvc
+ \endlist
+
+//! [type]
+
+//! [unset]
+
+ \section2 \c {--unset <key>}
+
+ Removes the specified \c <key>.
+
+//! [unset]
+
+//! [wait-lock]
+
+ \section2 \c --wait-lock
+
+ Waits indefinitely for other processes to release the build graph lock.
+
+ This option is typically used by \l{Generators}{generators}, which may
+ re-invoke multiple \QBS processes on the same project simultaneously.
+
+//! [wait-lock]
+
+//! [whitelist]
+
+ \section2 \c {--whitelist <whitelist>}
+
+ Considers only files whose names match the patterns specified by
+ \c <whitelist>. The list entries can contain wildcards and are separated by
+ commas.
+
+ By default, all files are considered.
+
+//! [whitelist]
+
+*/
diff --git a/doc/reference/cli/cli-parameters.qdocinc b/doc/reference/cli/cli-parameters.qdocinc
new file mode 100644
index 000000000..bf1d67a11
--- /dev/null
+++ b/doc/reference/cli/cli-parameters.qdocinc
@@ -0,0 +1,92 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+/*!
+
+//! [arguments]
+
+ \section2 \c -- <arguments>
+
+ Command-line arguments to be passed to the program to be run.
+
+//! [arguments]
+
+
+//! [configuration-name]
+
+ \section2 \c configuration-name
+
+ Specifies the build configuration to use.
+
+ The \c debug and \c release configuration names imply the respective build
+ variant. A debug build contains additional debug symbols that are needed for
+ debugging the application but that can be left out from the release
+ version. Generally, debug builds are used for testing and release builds
+ for creating the final installation file.
+
+ The build variant can also be specified explicitly by using the
+ \l{Module qbs}{qbs.buildVariant} property.
+
+ When naming configurations created for special purposes, follow the
+ rules for legal names generally used in programming languages:
+
+ \list
+ \li The first character must be a letter (a-z), an underscore (_), or a
+ dollar sign ($).
+ \li Subsequent characters may be letters, digits, underscores, or dollar
+ signs.
+ \endlist
+
+//! [configuration-name]
+
+//! [key]
+
+ \section2 \c <key>
+
+ Typically, a \c <key> consists of several levels separated by periods. The
+ first level shows a \e root value, such as \e preferences or \e profiles.
+ The root determines whether the second-level keys are build preferences or
+ profile names. The lower level keys consist of a module name, followed by a
+ property name.
+
+//! [key]
+
+//! [property]
+
+ \section2 \c {property:value}
+
+ Property values set in project files or profiles can be overridden on the
+ command line. The syntax is:
+
+ \code
+ <prefix>.<property-name>:<property-value>
+ \endcode
+
+ For more information, see
+ \l{Overriding Property Values from the Command Line}.
+
+//! [property]
+*/
diff --git a/doc/reference/cli/cli.qdoc b/doc/reference/cli/cli.qdoc
new file mode 100644
index 000000000..c93b51cd0
--- /dev/null
+++ b/doc/reference/cli/cli.qdoc
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage reference.html
+ \group cli
+
+ \title Command-Line Interface
+ \brief A list of available command-line commands.
+
+ The \c qbs command-line commands can be invoked as \c{qbs <command_name>}.
+
+ This reference summarizes the command-line commands. The authoritative
+ source of up-to-date information is the respective help screen, which you
+ get by calling \c{qbs help <command_name>}.
+
+ Some commands are described in context in the \l{Usage} section of the
+ manual.
+*/
diff --git a/doc/reference/cli/tools/cli-config-ui.qdoc b/doc/reference/cli/tools/cli-config-ui.qdoc
new file mode 100644
index 000000000..29c0ed732
--- /dev/null
+++ b/doc/reference/cli/tools/cli-config-ui.qdoc
@@ -0,0 +1,67 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-config-ui.html
+ \ingroup cli
+
+ \title config-ui
+ \brief Opens a GUI application for managing \QBS settings, such as
+ preferences and profiles.
+
+ \section1 Synopsis
+
+ \code
+ qbs config-ui [--settings-dir <directory>]
+ \endcode
+
+ \section1 Description
+
+ Opens the \QBS Settings application for managing \QBS settings, such as
+ preferences and profiles, in a hierarchical view. This makes it easier to
+ manage a large number of settings than using the \l{config} command from
+ the command line.
+
+ \image qbs-settings-gui.png
+
+ For more information, see \l{Configuring}.
+
+ \section1 Options
+
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc help
+
+ \section1 Examples
+
+ Opens \QBS Settings:
+
+ \code
+ qbs config-ui
+ \endcode
+
+*/
diff --git a/doc/reference/cli/tools/cli-config.qdoc b/doc/reference/cli/tools/cli-config.qdoc
new file mode 100644
index 000000000..0d2ba9989
--- /dev/null
+++ b/doc/reference/cli/tools/cli-config.qdoc
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-config.html
+ \ingroup cli
+
+ \title config
+ \brief Manages \QBS settings, such as preferences and profiles.
+
+ \section1 Synopsis
+
+ \code
+ qbs config [--settings-dir <directory>] [--list [<root> ...]]
+ [--unset <key>] [--export <file>] [--import <file>]
+ qbs config [--settings-dir <directory>] <key>
+ qbs config [--settings-dir <directory>] <key> <value>
+ \endcode
+
+ \section1 Description
+
+ Manages \QBS settings, such as preferences and profiles. You can list all
+ keys and remove the specified key, as well as import settings from a file
+ or export them to a file.
+
+ The second form of this command displays the specified \c <key>.
+
+ The third form sets the specified \c <key> with the specified \c <value>.
+
+ You can use the \l{config-ui} command to open the Qbs Settings tool for
+ managing settings in a hierarchical view.
+
+ For more information, see \l{Configuring}, \l{Managing Qt Versions},
+ \l{Modules}, \l {List of Modules}, and \l{Custom Modules and Items}.
+
+ \section1 Options
+
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc list-root
+ \include cli-options.qdocinc unset
+ \include cli-options.qdocinc export
+ \include cli-options.qdocinc import
+ \include cli-options.qdocinc help
+
+ \section1 Parameters
+
+ \include cli-parameters.qdocinc key
+
+ \section1 Examples
+
+ Lists the existing profiles:
+
+ \code
+ qbs config --list profiles
+ \endcode
+
+ Shows the default profile:
+
+ \code
+ qbs config defaultProfile
+ \endcode
+
+ \note If no output is shown, the default profile used is the built-in
+ profile \c none, which sets no properties.
+
+ Sets the profile called \c gcc as the base profile of the Qt profile called
+ \c myqt:
+
+ \code
+ qbs config profiles.myqt.baseProfile gcc
+ \endcode
+
+ Adds the location of a custom module to your preferences, to make the module
+ accessible in several projects:
+
+ \code
+ qbs config preferences.qbsSearchPaths /usr/local/share/custom-qbs-extensions
+ \endcode
+*/
diff --git a/doc/reference/cli/tools/cli-create-project.qdoc b/doc/reference/cli/tools/cli-create-project.qdoc
new file mode 100644
index 000000000..db3af2284
--- /dev/null
+++ b/doc/reference/cli/tools/cli-create-project.qdoc
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-create-project.html
+ \ingroup cli
+
+ \title create-project
+ \brief Creates a \QBS project from an existing set of source files.
+
+ \section1 Synopsis
+
+ \code
+ qbs create-project [--blacklist <blacklist>] [--whitelist <whitelist>]
+ [--flat]
+ \endcode
+
+ \section1 Description
+
+ Automatically generates \QBS project files from an arbitrary directory
+ structure. You can filter the files to add to the project by blacklisting
+ or whitelisting them. The command creates nested project files, unless you
+ use the \c --flat option.
+
+ This is a useful starting point when migrating from other build tools, such
+ as qmake or CMake.
+
+ \note Run this command from the project directory.
+
+ After generating the initial .qbs files, add the missing configuration
+ variables and functions to them.
+
+ \section1 Options
+
+ \include cli-options.qdocinc blacklist
+ \include cli-options.qdocinc whitelist
+ \include cli-options.qdocinc flat
+ \include cli-options.qdocinc help
+
+ \section1 Examples
+
+ Creates \c .qbs files in the project directory when run from there:
+
+ \code
+ qbs create-project
+ \endcode
+*/
diff --git a/doc/reference/list-of-tools.qdoc b/doc/reference/cli/tools/cli-setup-android.qdoc
index 5f27a8ee7..8994ac21b 100644
--- a/doc/reference/list-of-tools.qdoc
+++ b/doc/reference/cli/tools/cli-setup-android.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
@@ -26,46 +26,44 @@
****************************************************************************/
/*!
- \contentspage reference.html
- \page list-of-tools.html
+ \contentspage cli.html
+ \page cli-setup-android.html
+ \ingroup cli
- \title List of Command-line Tools
- \brief Auxiliary tools
+ \title setup-android
+ \brief Creates \QBS profiles for Android SDK and NDK installations.
- In addition to the \c qbs command itself, a number of auxiliary tools are provided. Their file
- names follow the pattern \c{qbs-<tool name>}, and they can be invoked either using that file
- name or as \c{qbs <tool name>}.
+ \section1 Synopsis
- This page is intended to give a short overview of these tools. For the supported parameters,
- see the respective help screen, which you get by calling \c{qbs help <tool name>}.
+ \code
+ qbs setup-android [--settings-dir <directory>] [--ndk-dir <directory>]
+ [--sdk-dir <directory>] [--qt-dir <directory>]
+ <profile name>
+ \endcode
- \section1 config
-
- Manages \QBS settings like preferences and profiles.
-
- \section1 create-project
-
- Creates a \QBS project from an existing set of source files.
-
- \section1 config-ui
-
- Like \c config, but with a graphical user interface.
-
- \section1 qmltypes
-
- Dumps information about the QML types supplied by \QBS. This is not intended as documentation
- for users, but as tooling support.
-
- \section1 setup-android
+ \section1 Description
Creates \QBS profiles for Android SDK and NDK installations.
- \section1 setup-qt
+ If a Qt path is given, these additional profiles will be suitable for
+ building Qt binaries for the respective architecture, if the Qt
+ installation has support for it.
+
+ \section1 Options
- Creates \QBS profiles for Qt installations.
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc ndk-dir
+ \include cli-options.qdocinc sdk-dir
+ \include cli-options.qdocinc qt-dir
+ \include cli-options.qdocinc help
- \section1 setup-toolchains
+ \section1 Examples
- Creates \QBS profiles for toolchains like GCC or MSVC.
+ Creates a profile with the name \c oreo that specifies the target platforms'
+ \l{Module qbs}{architectures} and operating systems, as well as the
+ toolchains available:
+ \code
+ qbs setup-android oreo
+ \endcode
*/
diff --git a/doc/reference/cli/tools/cli-setup-qt.qdoc b/doc/reference/cli/tools/cli-setup-qt.qdoc
new file mode 100644
index 000000000..9673286b3
--- /dev/null
+++ b/doc/reference/cli/tools/cli-setup-qt.qdoc
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-setup-qt.html
+ \ingroup cli
+
+ \title setup-qt
+ \brief Creates \QBS profiles for Qt installations.
+
+ \section1 Synopsis
+
+ \code
+ qbs setup-qt [--settings-dir <directory>] --detect
+ qbs setup-qt [--settings-dir <directory>] <path to qmake> <profile name>
+ \endcode
+
+ \section1 Description
+
+ Creates \QBS profiles for Qt installations.
+
+ The first form tries to auto-detect all known Qt versions, looking them up
+ via the PATH variable.
+
+ The second form creates a profile with the name \c {<profile name>} for the
+ Qt version located at \c {<path to qmake>}.
+
+ For more information, see \l{Managing Qt Versions}.
+
+ \section1 Options
+
+ \include cli-options.qdocinc detect-qt-versions
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc help
+
+ \section1 Examples
+
+ Looks up Qt versions in the PATH and creates profiles for them:
+
+ \code
+ qbs setup-qt --detect
+ \endcode
+
+ Creates a profile called \c myqt for the Qt version located in
+ \c /usr/bin/qmake:
+
+ \code
+ qbs setup-qt /usr/bin/qmake myqt
+ \endcode
+*/
diff --git a/doc/reference/cli/tools/cli-setup-toolchains.qdoc b/doc/reference/cli/tools/cli-setup-toolchains.qdoc
new file mode 100644
index 000000000..15490cc2a
--- /dev/null
+++ b/doc/reference/cli/tools/cli-setup-toolchains.qdoc
@@ -0,0 +1,85 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** 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$
+**
+****************************************************************************/
+
+/*!
+ \contentspage cli.html
+ \page cli-setup-toolchains.html
+ \ingroup cli
+
+ \title setup-toolchains
+ \brief Creates \QBS profiles for toolchains, such as GCC or MSVC.
+
+ \section1 Synopsis
+
+ \code
+ qbs setup-toolchains [--settings-dir <directory>] --detect
+ qbs setup-toolchains [--settings-dir <directory>] [--type <toolchain type>]
+ <compiler path> <profile name>
+ \endcode
+
+ \section1 Description
+
+ The first form tries to auto-detect all known toolchains, looking them up
+ via the PATH variable.
+
+ The second form creates a profile with the name \c {<profile name>} for the
+ toolchain located at \c {<compiler path>}. It will attempt to
+ determine the toolchain type automatically based on the file name or the
+ compiler executable. If that fails, you need to provide the compiler type as
+ a value of the \c --type option.
+
+ For more information, see \l{Configuring}.
+
+ \section1 Options
+
+ \include cli-options.qdocinc settings-dir
+ \include cli-options.qdocinc detect-toolchains
+ \include cli-options.qdocinc type
+ \include cli-options.qdocinc help
+
+ \section1 Examples
+
+ Looks up toolchains via the PATH variable and creates profiles for them:
+
+ \code
+ qbs setup-toolchains --detect
+ \endcode
+
+ Creates a profile called \c mingw for the toolchain located in
+ \c C:\mingw530_32\bin on Windows:
+
+ \code
+ qbs setup-toolchains C:\mingw530_32\bin\g++.exe mingw
+ \endcode
+
+ Creates a profile called \c g++-mingw-w64 for the toolchain located in
+ \c /usr/bin/x86_64-w64-mingw32-g++ g++-mingw-w64 on Ubuntu:
+
+ \code
+ qbs setup-toolchains /usr/bin/x86_64-w64-mingw32-g++ g++-mingw-w64
+ \endcode
+*/
diff --git a/doc/reference/reference.qdoc b/doc/reference/reference.qdoc
index f6222601b..d87efe32e 100644
--- a/doc/reference/reference.qdoc
+++ b/doc/reference/reference.qdoc
@@ -39,7 +39,7 @@
\li \l{List of Convenience Items}
\endlist
\li \l{List of Built-in Services}
- \li \l{List of Command-line Tools}
+ \li \l{Command-Line Interface}
\li \l{List of Modules}
\li \l{Command and JavaScriptCommand}
\endlist