diff options
| author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-10-30 16:20:15 +0100 |
|---|---|---|
| committer | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-10-30 16:20:15 +0100 |
| commit | 004d5eb78260067c98381e90fc2dd7148697c157 (patch) | |
| tree | 01e5fac8e7d5f841b641bb5da1136d5c012126c2 /doc | |
| parent | 3f0aeb76451682cdc1bd0569611b2ba7f45dcf9e (diff) | |
| parent | 521d595f6a0c3b4cec0f0488cb31947778bf1a3f (diff) | |
| download | qbs-004d5eb78260067c98381e90fc2dd7148697c157.tar.gz | |
Merge remote-tracking branch 'origin/1.1'
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/qbs.qdoc | 23 | ||||
| -rw-r--r-- | doc/reference/items/properties.qdoc | 4 | ||||
| -rw-r--r-- | doc/reference/items/rule.qdoc | 44 | ||||
| -rw-r--r-- | doc/reference/modules/qt-modules.qdoc | 14 |
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 |
