summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-10-30 16:20:15 +0100
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2013-10-30 16:20:15 +0100
commit004d5eb78260067c98381e90fc2dd7148697c157 (patch)
tree01e5fac8e7d5f841b641bb5da1136d5c012126c2 /doc
parent3f0aeb76451682cdc1bd0569611b2ba7f45dcf9e (diff)
parent521d595f6a0c3b4cec0f0488cb31947778bf1a3f (diff)
downloadqbs-004d5eb78260067c98381e90fc2dd7148697c157.tar.gz
Merge remote-tracking branch 'origin/1.1'
Diffstat (limited to 'doc')
-rw-r--r--doc/qbs.qdoc23
-rw-r--r--doc/reference/items/properties.qdoc4
-rw-r--r--doc/reference/items/rule.qdoc44
-rw-r--r--doc/reference/modules/qt-modules.qdoc14
4 files changed, 69 insertions, 16 deletions
diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc
index 40578790b..91ff72578 100644
--- a/doc/qbs.qdoc
+++ b/doc/qbs.qdoc
@@ -135,16 +135,25 @@
\title Building Qbs
- To build Qbs:
+ To build Qbs, enter the following command:
- \list 1
+ \code
+ qmake -r qbs.pro && make
+ \endcode
- \li Enter the following command:
- \code
- qmake -r qbs.pro && make
- \endcode
+ \section1 Configure Options
- \endlist
+ Qbs recognizes the following qmake CONFIG options to customize the build:
+
+ \table
+ \header \li Option \li Notes
+ \row \li all_tests \li Enable additional autotests.
+ \row \li disable_rpath \li Disable the use of rpath. This can be used when packaging
+ Qbs for distributions which do not permit the use of rpath,
+ such as Fedora.
+ \row \li qbs_no_dev_install \li Exclude header files from installation, that is, perform a
+ non-developer build.
+ \endtable
*/
diff --git a/doc/reference/items/properties.qdoc b/doc/reference/items/properties.qdoc
index 32c20b7e3..ba3f0ae06 100644
--- a/doc/reference/items/properties.qdoc
+++ b/doc/reference/items/properties.qdoc
@@ -82,9 +82,9 @@
}
cpp.includePaths: {
if (qbs.targetOS.contains("windows"))
- return ["ON_WINDOWS"];
+ return ["myWindowsIncludes"];
if (qbs.targetOS.contains("linux"))
- return ["ON_LINUX"];
+ return ["myLinuxIncludes"];
return undefined;
}
}
diff --git a/doc/reference/items/rule.qdoc b/doc/reference/items/rule.qdoc
index 1efd82f98..56244ced6 100644
--- a/doc/reference/items/rule.qdoc
+++ b/doc/reference/items/rule.qdoc
@@ -41,6 +41,50 @@
one or more artifacts (e.g. C++ linker).
A \e {non-multiplex rule} creates one transformer per matching input file (e.g. C++
compiler).
+ As a real-world example of a non-multiplex rule, here is a simplified version of qbs' rule for
+ transforming C++ sources into object files using gcc:
+ \code
+ Rule {
+ id: compiler
+ inputs: ['cpp']
+ auxiliaryInputs: ['hpp']
+
+ Artifact {
+ fileTags: ['obj']
+ fileName: '.obj/' + product.name + '/' + input.baseDir + '/' + input.fileName + '.o'
+ }
+
+ prepare: {
+ var args = [];
+ if (product.moduleProperty('cpp', 'debugInformation'))
+ args.push('-g');
+ var warnings = product.moduleProperty('cpp', 'warningLevel')
+ if (warnings === 'none')
+ args.push('-w');
+ if (warnings === 'all') {
+ args.push('-Wall');
+ args.push('-Wextra');
+ }
+ if (product.moduleProperty('cpp', 'treatWarningsAsErrors'))
+ args.push('-Werror');
+ var includePaths = product.moduleProperties('cpp', 'includePaths');
+ for (i in includePaths)
+ args.push('-I' + includePaths[i]);
+ var defines = product.moduleProperties('cpp', 'defines');
+ for (i in defines)
+ args.push('-D' + defines[i]);
+ args.push('-c');
+ args.push(input.fileName);
+ args.push('-o');
+ args.push(output.fileName);
+ var compilerPath = ModUtils.moduleProperty(product, 'compilerPath');
+ var cmd = new Command(compilerPath, args);
+ cmd.description = 'compiling ' + FileInfo.fileName(input.fileName);
+ cmd.highlight = 'compiler';
+ return cmd;
+ }
+ }
+ \endcode
\section1 Rule Properties
diff --git a/doc/reference/modules/qt-modules.qdoc b/doc/reference/modules/qt-modules.qdoc
index 7ab715f77..43386c85c 100644
--- a/doc/reference/modules/qt-modules.qdoc
+++ b/doc/reference/modules/qt-modules.qdoc
@@ -59,11 +59,11 @@
\li Qt Module Name
\li Notes
\row
- \li \l axcontainer
+ \li axcontainer
\li QAxContainer
\li This module is only available on Windows.
\row
- \li \l axserver
+ \li axserver
\li QAxServer
\li This module is only available on Windows.
\row
@@ -71,7 +71,7 @@
\li Qt Concurrent
\li
\row
- \li \l core
+ \li core
\li Qt Core
\li All other \c Qt modules have a dependency to this one, so you do not
need to list it in your dependencies if you depend on at least one
@@ -97,11 +97,11 @@
\li Qt Enginio
\li
\row
- \li \l gui
+ \li gui
\li Qt GUI
\li For more information, see \l {gui Properties}.
\row
- \li \l help
+ \li help
\li Qt Help
\li You do not need this module for building \c qdoc documentation,
because that functionality is part of the \c core module. This
@@ -131,7 +131,7 @@
\li Qt Print Support
\li
\row
- \li \l quick
+ \li quick
\li Qt Quick (2)
\li Provides the \c{Qt Quick} module (Qt Quick 2). For more information,
see \l {quick Properties}.
@@ -168,7 +168,7 @@
\li Qt Widgets
\li
\row
- \li \l xml
+ \li xml
\li Qt XML
\li You do not need this module for the \c QXmlStreamReader and
\c QXmlStreamWriter classes, because those classes are a part of the