aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2013-07-25 15:30:17 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2013-09-19 11:31:44 +0200
commit1f993c4cfe232a3596a32d64207d67cb1cdb49a3 (patch)
tree0516859156c5b24a87335a2ec58917d86bbfd489
parent79fe9d097c6923f93fc5e477556fb6e2e33539c1 (diff)
Restructure the reference part of the documentation.
It does not scale to repeat the whole contents of the reference manually in several tables of contents. Instead, make it opaque at the top-level and use the \group feature to get at least an automatic table of contents for the lowest level (items and modules at the moment). Change-Id: I80a3334a43f62481f74c21ad9d68e913c8b3098a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--doc/doc.qbs2
-rw-r--r--doc/qbs.qdoc692
-rw-r--r--doc/reference/items/export.qdoc (renamed from doc/items/export.qdoc)5
-rw-r--r--doc/reference/items/filetagger.qdoc (renamed from doc/items/filetagger.qdoc)4
-rw-r--r--doc/reference/items/group.qbs (renamed from doc/items/group.qbs)0
-rw-r--r--doc/reference/items/group.qdoc (renamed from doc/items/group.qdoc)6
-rw-r--r--doc/reference/items/product.qdoc (renamed from doc/items/product.qdoc)4
-rw-r--r--doc/reference/items/project.qdoc (renamed from doc/items/project.qdoc)4
-rw-r--r--doc/reference/items/properties.qdoc (renamed from doc/items/properties.qdoc)4
-rw-r--r--doc/reference/items/rule.qdoc (renamed from doc/items/rule.qdoc)4
-rw-r--r--doc/reference/items/subproject.qdoc (renamed from doc/items/subproject.qdoc)4
-rw-r--r--doc/reference/items/transformer.qdoc (renamed from doc/items/transformer.qdoc)4
-rw-r--r--doc/reference/modules/cpp-module.qdoc479
-rw-r--r--doc/reference/modules/qbs-module.qdoc231
-rw-r--r--doc/reference/reference.qdoc55
-rw-r--r--qbs.pro4
16 files changed, 797 insertions, 705 deletions
diff --git a/doc/doc.qbs b/doc/doc.qbs
index 81aed1086..505bd5c9f 100644
--- a/doc/doc.qbs
+++ b/doc/doc.qbs
@@ -9,7 +9,7 @@ Product {
files: [
"qbs.qdoc",
"config/*.qdocconf",
- "items/*",
+ "reference/**",
]
Group {
name: "main qdocconf file"
diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc
index 1ab17993f..caa113921 100644
--- a/doc/qbs.qdoc
+++ b/doc/qbs.qdoc
@@ -72,19 +72,6 @@
\li \l{Using Qbs Shell}
\endlist
\li \l{Reference}
- \list
- \li \l{Module qbs}
- \li \l{Module cpp}
- \li \l{Export Item}
- \li \l{FileTagger Item}
- \li \l{Group Item}
- \li \l{Product Item}
- \li \l{Project Item}
- \li \l{SubProject Item}
- \li \l{Properties Item}
- \li \l{Rule Item}
- \li \l{Transformer Item}
- \endlist
\endlist
*/
@@ -776,682 +763,3 @@
\endcode
*/
-
-
-/*!
- \contentspage index.html
- \previouspage shell.html
- \page reference.html
- \nextpage module-qbs.html
-
- \title Reference
-
- \list
- \li \l{Module qbs}
- \li \l{Module cpp}
- \li \l{Export Item}
- \li \l{FileTagger Item}
- \li \l{Group Item}
- \li \l{Product Item}
- \li \l{Project Item}
- \li \l{SubProject Item}
- \li \l{Properties Item}
- \li \l{Rule Item}
- \li \l{Transformer Item}
- \endlist
-*/
-
-
-/*!
- \contentspage index.html
- \previouspage reference.html
- \page module-qbs.html
- \nextpage module-cpp.html
-
- \title Module qbs
-
- The \c qbs module is implicitly loaded in every product. It contains properties of the current
- build environment, independent of the used programming languages and toolchains.
-
-
- \section1 buildVariant
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li \c{"debug"}
- \endtable
-
- Contains the name of the build variant for the current build.
-
-
- \section1 debugInformation
-
- \table
- \row \li \b{Type:} \li \c bool
- \row \li \b{Default:} \li \c{true} for debug builds, \c{false} otherwise
- \endtable
-
- Specifies whether to generate debug information.
-
-
- \section1 enableDebugCode
-
- \table
- \row \li \b{Type:} \li \c bool
- \row \li \b{Default:} \li \c{true} for debug builds, \c{false} otherwise
- \endtable
-
- Specifies whether to compile debug code in the product.
- This is typically enabled for debug builds and disabled for release builds.
-
-
- \section1 optimization
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Allowed Values:} \li \c{"none"}, \c{"fast"}, \c{"small"}
- \row \li \b{Default:} \li \c{"none"} for debug builds, \c{"fast"} for release builds
- \endtable
-
- Specifies the general type of optimization that should be performed by all toolchains.
-
-
- \section1 hostOS
-
- \table
- \row \li \b{Type:} \li \c{stringList} (read only)
- \endtable
-
- This property is set by qbs internally and specifies the OS qbs is running on.
- The possible values for this property are the values of \c targetOS,
- though some may not be supported.
-
-
- \section1 targetOS
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Possible Values:} \li one or more of:
- \c{"aix"},
- \c{"android"},
- \c{"blackberry"},
- \c{"bsd"},
- \c{"bsd4"},
- \c{"bsdi"},
- \c{"cygwin"},
- \c{"darwin"},
- \c{"dgux"},
- \c{"dynix"},
- \c{"freebsd"},
- \c{"hpux"},
- \c{"hurd"},
- \c{"integrity"},
- \c{"ios"},
- \c{"ios-simulator"},
- \c{"irix"},
- \c{"linux"},
- \c{"lynx"},
- \c{"osx"},
- \c{"msdos"},
- \c{"nacl"},
- \c{"netbsd"},
- \c{"openbsd"},
- \c{"os2"},
- \c{"os2emx"},
- \c{"osf"},
- \c{"qnx"},
- \c{"qnx6"},
- \c{"reliant"},
- \c{"sco"},
- \c{"solaris"},
- \c{"symbian"},
- \c{"ultrix"},
- \c{"unix"},
- \c{"unixware"},
- \c{"vxworks"},
- \c{"windows"},
- \c{"windowsce"},
- \c{"windowsphone"},
- \c{"winrt"}
- \endtable
-
- Specifies the OS you want to build the project for.
- This is typically set in a profile.
-
-
- \section1 architecture
-
- \table
- \row \li \b{Type:} \li \c{string}
- \endtable
-
- Specifies the target platform's processor architecture.
- This is typically set in a profile.
- Currently used values are: \c{"x86"}, \c{"x86_64"} and \c{"arm"}.
-
-
- \section1 endianness
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Allowed Values:} \li \c{"big"}, \c{"little"}, \c{"mixed"}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- Specifies the endianness of the target platform's processor architecture.
-
-
- \section1 toolchain
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Allowed Values:} \li \c{"gcc"}, \c{"llvm"}, \c{"clang"}, \c{"mingw"}, \c{"msvc"}
- \endtable
-
- Specifies the attributes of the toolchain that is going to be used for this build.
-
-
- \section1 sysroot
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- Specifies the sysroot of the target platform. This property is typically set in a profile
- for cross-compiling.
-
-
- \section1 install
-
- \table
- \row \li \b{Type:} \li \c{bool}
- \row \li \b{Default:} \li \c{false}
- \endtable
-
- Specifies whether to install a certain set of files.
- This is typically set in a \c{Group} item to mark a number of files as installable.
-
-
- \section1 installDir
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- Specifies the installation directory for the files of a product or a \c{Group}. The value of
- this property is a path that is relative to \c installPrefix.
-
- \section1 installPrefix
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li \c{empty}
- \endtable
-
- Specifies the global installation prefix. It is implicitly prepended to all values
- of \c installDir. The \c installPrefix itself is relative to the install root, which is not
- a property of qbs, but an external installation parameter.
-
- \section1 pathListSeparator
-
- \table
- \row \li \b{Type:} \li \c{string}
- \endtable
-
- Holds the platform-specific separator for path list that is used in environment variables or
- other contexts. E.g. on Windows is this \c{";"}, on Unix derivatives \c{":"}.
-*/
-
-
-/*!
- \contentspage index.html
- \previouspage module-qbs.html
- \page module-cpp.html
- \nextpage export-item.html
-
- \title Module cpp
-
- The \c cpp module contains the properties and rules for toolchains of the C/C++ family.
- On OS X this includes support for Objective-C/C++.
-
- \section1 General Properties
-
-
- \section2 architecture
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li \c{qbs.architecture}
- \endtable
-
- Target architecture. See \c{qbs.architecture}.
-
- \section2 debugInformation
-
- \table
- \row \li \b{Type:} \li \c{bool}
- \row \li \b{Default:} \li \c{qbs.debugInformation}
- \endtable
-
- Generate debug information. See \c{qbs.debugInformation}.
-
- \section2 defines
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of preprocessor macros that gets passed to the compiler.
- To set macro values use the following syntax:
- \code
- cpp.defines: ["USE_COLORS=1", 'COLOR_STR="blanched almond"']
- \endcode
-
- \section2 platformDefines
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of preprocessor macros that are used for all projects that are built for the current
- target platform. User project files usually do not set this property.
-
- \section2 compilerDefines
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of preprocessor macros that are used for all projects that are using the current toolchain.
- User project files usually do not set this property.
-
- \section2 includePaths
-
- \table
- \row \li \b{Type:} \li \c{pathList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of include paths. Relative paths are considered to be relative to the .qbs product file
- they are used in.
-
- \section2 systemIncludePaths
-
- \table
- \row \li \b{Type:} \li \c{pathList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of include paths that are passed as system include paths to the compiler.
- For header files in those paths warnings will be ignored.
- Relative paths are considered to be relative to the .qbs product file they are used in.
-
- \section2 libraryPaths
-
- \table
- \row \li \b{Type:} \li \c{pathList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of library search paths. Relative paths are considered to be relative to the .qbs product
- file they are used in.
-
- \section2 dynamicLibraries
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of dynamic libraries to be linked. If the library is part of your project, consider
- using a Depends item instead.
-
- \section2 staticLibraries
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of static libraries to be linked. If the library is part of your project, consider
- using a Depends item instead.
-
- \section2 prefixHeaders
-
- \table
- \row \li \b{Type:} \li \c{pathList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of files to automatically include at the beginning of each source file in the product.
-
- \section2 precompiledHeader
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- Name of the C++ header file to be precompiled.
-
- \section2 precompiledHeaderDir
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li \c{product.buildDirectory}
- \endtable
-
- The directory that will contain the precompiled C++ header file.
- Usually you won't need to set this.
-
- \section2 optimization
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li \c{qbs.optimization}
- \endtable
-
- Optimization level. See \c{qbs.optimization}.
-
- \section2 treatWarningsAsErrors
-
- \table
- \row \li \b{Type:} \li \c{bool}
- \row \li \b{Default:} \li \c{false}
- \endtable
-
- Warnings will be handled as errors and cause the build to fail.
-
- \section2 warningLevel
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li \c{"all"}
- \endtable
-
- Specifies the installation directory for the files of a product or a \c{Group}. The value of
- this property is a path that is relative to the install root.
-
- \section2 commonCompilerFlags
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li undefined
- \endtable
-
- Flags that are added to all compilation commands independently of the language.
-
- \section2 cppFlags
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li undefined
- \endtable
-
- Additional flags for the C preprocessor.
-
- \section2 cFlags
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li undefined
- \endtable
-
- Additional flags for the C compiler.
-
- \section2 cxxFlags
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li undefined
- \endtable
-
- Additional flags for the C++ compiler.
-
- \section2 objcFlags
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li undefined
- \endtable
-
- Additional flags for the Objective-C compiler.
-
- \section2 objcxxFlags
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li undefined
- \endtable
-
- Additional flags for the Objective-C++ compiler.
-
- \section2 linkerFlags
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li undefined
- \endtable
-
- Additional flags for the linker.
-
- \section2 compilerName
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li determined by qbs-detect-toolchains
- \endtable
-
- Name of the compiler binary. This is set in the build profile.
-
- \section2 compilerPath
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li determined by qbs-detect-toolchains
- \endtable
-
- Directory where the compiler binary is located. This is set in the build profile.
-
- \section2 compilerWrapper
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- Wrapper binary and its arguments for wrapping compiler calls.
- This is useful for compiler wrappers like ccache and alike.
-
-
- \section1 Properties Specific to iOS and OS X
-
- \section2 frameworkPaths
-
- \table
- \row \li \b{Type:} \li \c{pathList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of framework search paths. Relative paths are considered to be relative to the .qbs product
- file they are used in.
-
- \section2 systemFrameworkPaths
-
- \table
- \row \li \b{Type:} \li \c{pathList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of framework search paths. Relative paths are considered to be relative to the .qbs product
- file they are used in. Header files in frameworks in those paths will not cause warnings.
-
- \section2 frameworks
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of frameworks to be linked.
- If the framework is part of your project, consider using a Depends item instead.
-
- \section2 weakFrameworks
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of frameworks to be weakly linked.
- If the framework is part of your project, consider using a Depends item instead.
-
- \section2 infoPlistFile
-
- \table
- \row \li \b{Type:} \li \c{path}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- Path to the Info.plist file used by the bundle.
- The contents of this file will be aggregated with the values in \c{infoPlist}.
- If \c{infoPlistFile} and \c{infoPlist} contain the same key, the latter will take precedence,
- but may also be overridden during postprocessing (see \c{processInfoPlist}).
- If undefined, will not be taken into account.
-
- \section2 infoPlist
-
- \table
- \row \li \b{Type:} \li \c{object}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- Dictionary of key-value pairs to add to the bundle's Info.plist.
- The contents of this property will be aggregated with the values from \c{infoPlistFile}.
- If \c{infoPlist} and \c{infoPlistFile} contain the same key, the former will take precedence,
- but may also be overridden during postprocessing (see \c{processInfoPlist}).
- If undefined, will not be taken into account.
-
- \section2 processInfoPlist
-
- \table
- \row \li \b{Type:} \li \c{bool}
- \row \li \b{Default:} \li \c{true}
- \endtable
-
- Whether to perform post-processing on the aggregated Info.plist contents.
- If this property is \c{true}, various post-processing operations will be applied to the
- bundle's property list dictionary after it has been aggregated from the contents of the file
- specified by the \c{infoPlistFile} property and the \c{infoPlist} property.
- First, values from a list of defaults will be added to the dictionary if they were not already
- present. Then, values from the AdditionalInfo key of the platform SDK's Info.plist file will be
- added to the dictionary if they were not already present, as well as some other miscellaneous
- keys, such as BuildMachineOSBuild and UIDeviceFamily (on iOS).
- Finally, variable expansions will be performed such that substrings of the form ${VAR} will be
- replaced with their corresponding environment variables.
-
- \section2 infoPlistFormat
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Allowed Values:} \li \c{"xml1"}, \c{"binary1"}, \c{"json"}, \c{"same-as-input"}
- \row \li \b{Default:} \li \c{"binary1"} for iOS; \c{"same-as-input"} or \c{"xml1"}
- for OS X depending on whether \c{infoPlistFile} is
- specified; undefined for all other operating systems.
- \endtable
-
- The file format to write the product's resulting Info.plist in.
-
-
- \section1 Properties Specific to iOS
-
- \section2 minimumIosVersion
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li undefined, but may be set by generated profiles
- \endtable
-
- A version number in the format [major].[minor] indicating the earliest version of OS X that the
- product should run on. Passes -miphoneos-version-min=<version> to the compiler.
- If undefined, compiler defaults will be used.
-
-
- \section1 Properties Specific to OS X
-
- \section2 minimumOsxVersion
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li undefined, but may be set by generated profiles
- \endtable
-
- A version number in the format [major].[minor] indicating the earliest version of OS X that the
- product should run on. Passes -mmacosx-version-min=<version> to the compiler.
- If undefined, compiler defaults will be used.
-
-
- \section1 Properties Specific to Unix Platforms
-
- \section2 positionIndependentCode
-
- \table
- \row \li \b{Type:} \li \c{bool}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- Generate position independent code.
-
- \section2 rpaths
-
- \table
- \row \li \b{Type:} \li \c{stringList}
- \row \li \b{Default:} \li \c{undefined}
- \endtable
-
- List of rpaths that are passed to the linker.
-
- \section2 visibility
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Allowed Values:} \li \c{"default"}, \c{"hidden"}, \c{"hiddenInlines"}
- \row \li \b{Default:} \li \c{"default"}
- \endtable
-
- Visibility level for exported symbols.
-
-
- \section1 Properties Specific to Windows
-
- \section2 windowsApiCharacterSet
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Allowed Values:} \li \c{"unicode"}, \c{"mbcs"}, \c{undefined}
- \row \li \b{Default:} \li \c{"unicode"}
- \endtable
-
- Specifies the character set used in the Win32 API. "unicode" will define the
- preprocessor symbols UNICODE and _UNICODE, "mbcs" will define _MBCS, and
- setting the value to undefined will use the default character set.
-
- \section2 minimumWindowsVersion
-
- \table
- \row \li \b{Type:} \li \c{string}
- \row \li \b{Default:} \li undefined, but may be set by generated profiles
- \endtable
-
- A version number in the format [major].[minor] indicating the earliest version of Windows that
- the product should run on. Defines WINVER, _WIN32_WINNT, and _WIN32_WINDOWS, and applies a
- version number to the linker flags /SUBSYSTEM and /OSVERSION for MSVC or
- -Wl,--major-subsystem-version, -Wl,--minor-subsystem-version, -Wl,--major-os-version and
- -Wl,--minor-os-version for MinGW.
- If undefined, compiler defaults will be used.
-*/
diff --git a/doc/items/export.qdoc b/doc/reference/items/export.qdoc
index 834770cdc..7e3f46b88 100644
--- a/doc/items/export.qdoc
+++ b/doc/reference/items/export.qdoc
@@ -27,12 +27,13 @@
**
****************************************************************************/
/*!
- \contentspage index.html
- \previouspage module-cpp.html
+ \contentspage list-of-items.html
\page export-item.html
\nextpage filetagger-item.html
+ \ingroup list-of-items
\title Export Item
+ \brief Exports dependencies and properties to other products.
An \c Export item can appear inside a \l{Product Item}. The properties attached to it will
take effect in all products that depend on the product inside which the product module is defined.
diff --git a/doc/items/filetagger.qdoc b/doc/reference/items/filetagger.qdoc
index 3f2d70124..4aa66603d 100644
--- a/doc/items/filetagger.qdoc
+++ b/doc/reference/items/filetagger.qdoc
@@ -27,12 +27,14 @@
**
****************************************************************************/
/*!
- \contentspage index.html
+ \contentspage list-of-items.html
\previouspage export-item.html
\page filetagger-item.html
\nextpage group-item.html
+ \ingroup list-of-items
\title FileTagger Item
+ \brief Maps file patterns to tags.
This item maps file patterns to tags. It can be attached to a product or a module.
In the latter case, its effect is the same as if it had been attached to all products having
diff --git a/doc/items/group.qbs b/doc/reference/items/group.qbs
index 8797effd3..8797effd3 100644
--- a/doc/items/group.qbs
+++ b/doc/reference/items/group.qbs
diff --git a/doc/items/group.qdoc b/doc/reference/items/group.qdoc
index 2813f6ac2..db16612d0 100644
--- a/doc/items/group.qdoc
+++ b/doc/reference/items/group.qdoc
@@ -28,12 +28,14 @@
****************************************************************************/
/*!
- \contentspage index.html
+ \contentspage list-of-items.html
\previouspage filetagger-item.html
\page group-item.html
\nextpage product-item.html
+ \ingroup list-of-items
\title Group Item
+ \brief Groups files in a product.
This item is attached to a product and used to group files that have something in common.
For example:
@@ -68,7 +70,7 @@
The pattern ** used in a pathname expansion context will match all files and zero or more
directories and subdirectories.
For example:
- \snippet items/group.qbs 0
+ \snippet reference/items/group.qbs 0
A group can also be used to attach properties to build artifacts such as executables or
libraries. In the following example, an application is installed to "<install root>/bin".
diff --git a/doc/items/product.qdoc b/doc/reference/items/product.qdoc
index 581634545..814bd1266 100644
--- a/doc/items/product.qdoc
+++ b/doc/reference/items/product.qdoc
@@ -27,12 +27,14 @@
**
****************************************************************************/
/*!
- \contentspage index.html
+ \contentspage list-of-items.html
\previouspage group-item.html
\page product-item.html
\nextpage project-item.html
+ \ingroup list-of-items
\title Product Item
+ \brief Represents the result of a build process.
A \e product typically represents the result of a build process. It specifies a set of
input and output files and a way to transform the former into the latter. For example, the
diff --git a/doc/items/project.qdoc b/doc/reference/items/project.qdoc
index b066ad0a1..9280ba4b0 100644
--- a/doc/items/project.qdoc
+++ b/doc/reference/items/project.qdoc
@@ -27,12 +27,14 @@
**
****************************************************************************/
/*!
- \contentspage index.html
+ \contentspage list-of-items.html
\previouspage product-item.html
\page project-item.html
\nextpage subproject-item.html
+ \ingroup list-of-items
\title Project Item
+ \brief Represents a collection of products and properties.
A \c Project item represents a collection of of products. In a
non-trivial project, these products are typically defined in their own files and
diff --git a/doc/items/properties.qdoc b/doc/reference/items/properties.qdoc
index 7bbe6e21e..32c20b7e3 100644
--- a/doc/items/properties.qdoc
+++ b/doc/reference/items/properties.qdoc
@@ -27,12 +27,14 @@
**
****************************************************************************/
/*!
- \contentspage index.html
+ \contentspage list-of-items.html
\previouspage subproject-item.html
\page properties-item.html
\nextpage rule-item.html
+ \ingroup list-of-items
\title Properties Item
+ \brief Provides conditional setting of properties.
\note This documents the \c Properties item in the context of products. Usage within
a \c SubProject item is described \l{SubProject Item}{here}.
diff --git a/doc/items/rule.qdoc b/doc/reference/items/rule.qdoc
index 32857a679..bc44b4ab3 100644
--- a/doc/items/rule.qdoc
+++ b/doc/reference/items/rule.qdoc
@@ -27,12 +27,14 @@
**
****************************************************************************/
/*!
- \contentspage index.html
+ \contentspage list-of-items.html
\previouspage properties-item.html
\page rule-item.html
\nextpage transformer-item.html
+ \ingroup list-of-items
\title Rule Item
+ \brief Creates transformers for input tags.
A \e {multiplex rule} creates one \e transformer that takes all
input artifacts with the matching input file tag and creates
diff --git a/doc/items/subproject.qdoc b/doc/reference/items/subproject.qdoc
index 6adbc88ec..64aaa86fe 100644
--- a/doc/items/subproject.qdoc
+++ b/doc/reference/items/subproject.qdoc
@@ -27,12 +27,14 @@
**
****************************************************************************/
/*!
- \contentspage index.html
+ \contentspage list-of-items.html
\previouspage project-item.html
\page subproject-item.html
\nextpage properties-item.html
+ \ingroup list-of-items
\title SubProject Item
+ \brief Adds a project from a different file.
A \c SubProject item is used to add a project defined in another file as a sub-project to
the surrounding project:
diff --git a/doc/items/transformer.qdoc b/doc/reference/items/transformer.qdoc
index b1828a4fd..2f3e26777 100644
--- a/doc/items/transformer.qdoc
+++ b/doc/reference/items/transformer.qdoc
@@ -27,11 +27,13 @@
**
****************************************************************************/
/*!
- \contentspage index.html
+ \contentspage list-of-items.html
\previouspage rule-item.html
\page transformer-item.html
+ \ingroup list-of-items
\title Transformer Item
+ \brief Creates files, typically from other files.
A \e transformer takes zero or more inputs and produces one or more output artifacts
from them. The following transformer creates one output file from one input file:
diff --git a/doc/reference/modules/cpp-module.qdoc b/doc/reference/modules/cpp-module.qdoc
new file mode 100644
index 000000000..24e3d3eca
--- /dev/null
+++ b/doc/reference/modules/cpp-module.qdoc
@@ -0,0 +1,479 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Build Suite.
+**
+** 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 Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+/*!
+ \contentspage index.html
+ \page cpp-module.html
+ \ingroup list-of-modules
+
+ \title Module cpp
+ \brief Provides C/C++ support.
+
+ The \c cpp module contains the properties and rules for toolchains of the C/C++ family.
+ On OS X this includes support for Objective-C/C++.
+
+ \section1 General Properties
+
+
+ \section2 architecture
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li \c{qbs.architecture}
+ \endtable
+
+ Target architecture. See \c{qbs.architecture}.
+
+ \section2 debugInformation
+
+ \table
+ \row \li \b{Type:} \li \c{bool}
+ \row \li \b{Default:} \li \c{qbs.debugInformation}
+ \endtable
+
+ Generate debug information. See \c{qbs.debugInformation}.
+
+ \section2 defines
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of preprocessor macros that gets passed to the compiler.
+ To set macro values use the following syntax:
+ \code
+ cpp.defines: ["USE_COLORS=1", 'COLOR_STR="blanched almond"']
+ \endcode
+
+ \section2 platformDefines
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of preprocessor macros that are used for all projects that are built for the current
+ target platform. User project files usually do not set this property.
+
+ \section2 compilerDefines
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of preprocessor macros that are used for all projects that are using the current toolchain.
+ User project files usually do not set this property.
+
+ \section2 includePaths
+
+ \table
+ \row \li \b{Type:} \li \c{pathList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of include paths. Relative paths are considered to be relative to the .qbs product file
+ they are used in.
+
+ \section2 systemIncludePaths
+
+ \table
+ \row \li \b{Type:} \li \c{pathList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of include paths that are passed as system include paths to the compiler.
+ For header files in those paths warnings will be ignored.
+ Relative paths are considered to be relative to the .qbs product file they are used in.
+
+ \section2 libraryPaths
+
+ \table
+ \row \li \b{Type:} \li \c{pathList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of library search paths. Relative paths are considered to be relative to the .qbs product
+ file they are used in.
+
+ \section2 dynamicLibraries
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of dynamic libraries to be linked. If the library is part of your project, consider
+ using a Depends item instead.
+
+ \section2 staticLibraries
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of static libraries to be linked. If the library is part of your project, consider
+ using a Depends item instead.
+
+ \section2 prefixHeaders
+
+ \table
+ \row \li \b{Type:} \li \c{pathList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of files to automatically include at the beginning of each source file in the product.
+
+ \section2 precompiledHeader
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ Name of the C++ header file to be precompiled.
+
+ \section2 precompiledHeaderDir
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li \c{product.buildDirectory}
+ \endtable
+
+ The directory that will contain the precompiled C++ header file.
+ Usually you won't need to set this.
+
+ \section2 optimization
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li \c{qbs.optimization}
+ \endtable
+
+ Optimization level. See \c{qbs.optimization}.
+
+ \section2 treatWarningsAsErrors
+
+ \table
+ \row \li \b{Type:} \li \c{bool}
+ \row \li \b{Default:} \li \c{false}
+ \endtable
+
+ Warnings will be handled as errors and cause the build to fail.
+
+ \section2 warningLevel
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li \c{"all"}
+ \endtable
+
+ Specifies the installation directory for the files of a product or a \c{Group}. The value of
+ this property is a path that is relative to the install root.
+
+ \section2 commonCompilerFlags
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li undefined
+ \endtable
+
+ Flags that are added to all compilation commands independently of the language.
+
+ \section2 cppFlags
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li undefined
+ \endtable
+
+ Additional flags for the C preprocessor.
+
+ \section2 cFlags
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li undefined
+ \endtable
+
+ Additional flags for the C compiler.
+
+ \section2 cxxFlags
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li undefined
+ \endtable
+
+ Additional flags for the C++ compiler.
+
+ \section2 objcFlags
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li undefined
+ \endtable
+
+ Additional flags for the Objective-C compiler.
+
+ \section2 objcxxFlags
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li undefined
+ \endtable
+
+ Additional flags for the Objective-C++ compiler.
+
+ \section2 linkerFlags
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li undefined
+ \endtable
+
+ Additional flags for the linker.
+
+ \section2 compilerName
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li determined by qbs-detect-toolchains
+ \endtable
+
+ Name of the compiler binary. This is set in the build profile.
+
+ \section2 compilerPath
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li determined by qbs-detect-toolchains
+ \endtable
+
+ Directory where the compiler binary is located. This is set in the build profile.
+
+ \section2 compilerWrapper
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ Wrapper binary and its arguments for wrapping compiler calls.
+ This is useful for compiler wrappers like ccache and alike.
+
+
+ \section1 Properties Specific to iOS and OS X
+
+ \section2 frameworkPaths
+
+ \table
+ \row \li \b{Type:} \li \c{pathList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of framework search paths. Relative paths are considered to be relative to the .qbs product
+ file they are used in.
+
+ \section2 systemFrameworkPaths
+
+ \table
+ \row \li \b{Type:} \li \c{pathList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of framework search paths. Relative paths are considered to be relative to the .qbs product
+ file they are used in. Header files in frameworks in those paths will not cause warnings.
+
+ \section2 frameworks
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of frameworks to be linked.
+ If the framework is part of your project, consider using a Depends item instead.
+
+ \section2 weakFrameworks
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of frameworks to be weakly linked.
+ If the framework is part of your project, consider using a Depends item instead.
+
+ \section2 infoPlistFile
+
+ \table
+ \row \li \b{Type:} \li \c{path}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ Path to the Info.plist file used by the bundle.
+ The contents of this file will be aggregated with the values in \c{infoPlist}.
+ If \c{infoPlistFile} and \c{infoPlist} contain the same key, the latter will take precedence,
+ but may also be overridden during postprocessing (see \c{processInfoPlist}).
+ If undefined, will not be taken into account.
+
+ \section2 infoPlist
+
+ \table
+ \row \li \b{Type:} \li \c{object}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ Dictionary of key-value pairs to add to the bundle's Info.plist.
+ The contents of this property will be aggregated with the values from \c{infoPlistFile}.
+ If \c{infoPlist} and \c{infoPlistFile} contain the same key, the former will take precedence,
+ but may also be overridden during postprocessing (see \c{processInfoPlist}).
+ If undefined, will not be taken into account.
+
+ \section2 processInfoPlist
+
+ \table
+ \row \li \b{Type:} \li \c{bool}
+ \row \li \b{Default:} \li \c{true}
+ \endtable
+
+ Whether to perform post-processing on the aggregated Info.plist contents.
+ If this property is \c{true}, various post-processing operations will be applied to the
+ bundle's property list dictionary after it has been aggregated from the contents of the file
+ specified by the \c{infoPlistFile} property and the \c{infoPlist} property.
+ First, values from a list of defaults will be added to the dictionary if they were not already
+ present. Then, values from the AdditionalInfo key of the platform SDK's Info.plist file will be
+ added to the dictionary if they were not already present, as well as some other miscellaneous
+ keys, such as BuildMachineOSBuild and UIDeviceFamily (on iOS).
+ Finally, variable expansions will be performed such that substrings of the form ${VAR} will be
+ replaced with their corresponding environment variables.
+
+ \section2 infoPlistFormat
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Allowed Values:} \li \c{"xml1"}, \c{"binary1"}, \c{"json"}, \c{"same-as-input"}
+ \row \li \b{Default:} \li \c{"binary1"} for iOS; \c{"same-as-input"} or \c{"xml1"}
+ for OS X depending on whether \c{infoPlistFile} is
+ specified; undefined for all other operating systems.
+ \endtable
+
+ The file format to write the product's resulting Info.plist in.
+
+
+ \section1 Properties Specific to iOS
+
+ \section2 minimumIosVersion
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li undefined, but may be set by generated profiles
+ \endtable
+
+ A version number in the format [major].[minor] indicating the earliest version of OS X that the
+ product should run on. Passes -miphoneos-version-min=<version> to the compiler.
+ If undefined, compiler defaults will be used.
+
+
+ \section1 Properties Specific to OS X
+
+ \section2 minimumOsxVersion
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li undefined, but may be set by generated profiles
+ \endtable
+
+ A version number in the format [major].[minor] indicating the earliest version of OS X that the
+ product should run on. Passes -mmacosx-version-min=<version> to the compiler.
+ If undefined, compiler defaults will be used.
+
+
+ \section1 Properties Specific to Unix Platforms
+
+ \section2 positionIndependentCode
+
+ \table
+ \row \li \b{Type:} \li \c{bool}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ Generate position independent code.
+
+ \section2 rpaths
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ List of rpaths that are passed to the linker.
+
+ \section2 visibility
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Allowed Values:} \li \c{"default"}, \c{"hidden"}, \c{"hiddenInlines"}
+ \row \li \b{Default:} \li \c{"default"}
+ \endtable
+
+ Visibility level for exported symbols.
+
+
+ \section1 Properties Specific to Windows
+
+ \section2 windowsApiCharacterSet
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Allowed Values:} \li \c{"unicode"}, \c{"mbcs"}, \c{undefined}
+ \row \li \b{Default:} \li \c{"unicode"}
+ \endtable
+
+ Specifies the character set used in the Win32 API. "unicode" will define the
+ preprocessor symbols UNICODE and _UNICODE, "mbcs" will define _MBCS, and
+ setting the value to undefined will use the default character set.
+
+ \section2 minimumWindowsVersion
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li undefined, but may be set by generated profiles
+ \endtable
+
+ A version number in the format [major].[minor] indicating the earliest version of Windows that
+ the product should run on. Defines WINVER, _WIN32_WINNT, and _WIN32_WINDOWS, and applies a
+ version number to the linker flags /SUBSYSTEM and /OSVERSION for MSVC or
+ -Wl,--major-subsystem-version, -Wl,--minor-subsystem-version, -Wl,--major-os-version and
+ -Wl,--minor-os-version for MinGW.
+ If undefined, compiler defaults will be used.
+*/
diff --git a/doc/reference/modules/qbs-module.qdoc b/doc/reference/modules/qbs-module.qdoc
new file mode 100644
index 000000000..14357a922
--- /dev/null
+++ b/doc/reference/modules/qbs-module.qdoc
@@ -0,0 +1,231 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Build Suite.
+**
+** 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 Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+/*!
+ \contentspage list-of-modules.html
+ \page qbs-module.html
+ \ingroup list-of-modules
+
+ \title Module qbs
+ \brief Comprises general properties.
+
+ The \c qbs module is implicitly loaded in every product. It contains properties of the current
+ build environment, independent of the used programming languages and toolchains.
+
+
+ \section1 buildVariant
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li \c{"debug"}
+ \endtable
+
+ Contains the name of the build variant for the current build.
+
+
+ \section1 debugInformation
+
+ \table
+ \row \li \b{Type:} \li \c bool
+ \row \li \b{Default:} \li \c{true} for debug builds, \c{false} otherwise
+ \endtable
+
+ Specifies whether to generate debug information.
+
+
+ \section1 enableDebugCode
+
+ \table
+ \row \li \b{Type:} \li \c bool
+ \row \li \b{Default:} \li \c{true} for debug builds, \c{false} otherwise
+ \endtable
+
+ Specifies whether to compile debug code in the product.
+ This is typically enabled for debug builds and disabled for release builds.
+
+
+ \section1 optimization
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Allowed Values:} \li \c{"none"}, \c{"fast"}, \c{"small"}
+ \row \li \b{Default:} \li \c{"none"} for debug builds, \c{"fast"} for release builds
+ \endtable
+
+ Specifies the general type of optimization that should be performed by all toolchains.
+
+
+ \section1 hostOS
+
+ \table
+ \row \li \b{Type:} \li \c{stringList} (read only)
+ \endtable
+
+ This property is set by qbs internally and specifies the OS qbs is running on.
+ The possible values for this property are the values of \c targetOS,
+ though some may not be supported.
+
+
+ \section1 targetOS
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Possible Values:} \li one or more of:
+ \c{"aix"},
+ \c{"android"},
+ \c{"blackberry"},
+ \c{"bsd"},
+ \c{"bsd4"},
+ \c{"bsdi"},
+ \c{"cygwin"},
+ \c{"darwin"},
+ \c{"dgux"},
+ \c{"dynix"},
+ \c{"freebsd"},
+ \c{"hpux"},
+ \c{"hurd"},
+ \c{"integrity"},
+ \c{"ios"},
+ \c{"ios-simulator"},
+ \c{"irix"},
+ \c{"linux"},
+ \c{"lynx"},
+ \c{"osx"},
+ \c{"msdos"},
+ \c{"nacl"},
+ \c{"netbsd"},
+ \c{"openbsd"},
+ \c{"os2"},
+ \c{"os2emx"},
+ \c{"osf"},
+ \c{"qnx"},
+ \c{"qnx6"},
+ \c{"reliant"},
+ \c{"sco"},
+ \c{"solaris"},
+ \c{"symbian"},
+ \c{"ultrix"},
+ \c{"unix"},
+ \c{"unixware"},
+ \c{"vxworks"},
+ \c{"windows"},
+ \c{"windowsce"},
+ \c{"windowsphone"},
+ \c{"winrt"}
+ \endtable
+
+ Specifies the OS you want to build the project for.
+ This is typically set in a profile.
+
+
+ \section1 architecture
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \endtable
+
+ Specifies the target platform's processor architecture.
+ This is typically set in a profile.
+ Currently used values are: \c{"x86"}, \c{"x86_64"} and \c{"arm"}.
+
+
+ \section1 endianness
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Allowed Values:} \li \c{"big"}, \c{"little"}, \c{"mixed"}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ Specifies the endianness of the target platform's processor architecture.
+
+
+ \section1 toolchain
+
+ \table
+ \row \li \b{Type:} \li \c{stringList}
+ \row \li \b{Allowed Values:} \li \c{"gcc"}, \c{"llvm"}, \c{"clang"}, \c{"mingw"}, \c{"msvc"}
+ \endtable
+
+ Specifies the attributes of the toolchain that is going to be used for this build.
+
+
+ \section1 sysroot
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ Specifies the sysroot of the target platform. This property is typically set in a profile
+ for cross-compiling.
+
+
+ \section1 install
+
+ \table
+ \row \li \b{Type:} \li \c{bool}
+ \row \li \b{Default:} \li \c{false}
+ \endtable
+
+ Specifies whether to install a certain set of files.
+ This is typically set in a \c{Group} item to mark a number of files as installable.
+
+
+ \section1 installDir
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li \c{undefined}
+ \endtable
+
+ Specifies the installation directory for the files of a product or a \c{Group}. The value of
+ this property is a path that is relative to \c installPrefix.
+
+ \section1 installPrefix
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \row \li \b{Default:} \li \c{empty}
+ \endtable
+
+ Specifies the global installation prefix. It is implicitly prepended to all values
+ of \c installDir. The \c installPrefix itself is relative to the install root, which is not
+ a property of qbs, but an external installation parameter.
+
+ \section1 pathListSeparator
+
+ \table
+ \row \li \b{Type:} \li \c{string}
+ \endtable
+
+ Holds the platform-specific separator for path list that is used in environment variables or
+ other contexts. E.g. on Windows is this \c{";"}, on Unix derivatives \c{":"}.
+*/
+
diff --git a/doc/reference/reference.qdoc b/doc/reference/reference.qdoc
new file mode 100644
index 000000000..09b824a78
--- /dev/null
+++ b/doc/reference/reference.qdoc
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Build Suite.
+**
+** 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 Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+/*!
+ \contentspage index.html
+ \previouspage shell.html
+ \page reference.html
+
+ \title Reference
+
+ \list
+ \li \l{List of Language Items}
+ \li \l{List of Built-in Services} [tbd]
+ \li \l{List of Modules}
+ \endlist
+*/
+
+/*!
+ \contentspage reference.html
+ \group list-of-modules
+ \title List of Modules
+ These are the modules shipped with qbs.
+*/
+
+/*!
+ \contentspage reference.html
+ \group list-of-items
+ \title List of Language Items
+ Qbs provides the following built-in QML items to define projects.
+*/
diff --git a/qbs.pro b/qbs.pro
index 39b0ac33a..0661203c3 100644
--- a/qbs.pro
+++ b/qbs.pro
@@ -40,7 +40,9 @@ SUBDIRS += \
OTHER_FILES += \
doc/*.qdoc \
- doc/items/*.qdoc \
+ doc/reference/*.qdoc \
+ doc/reference/items/*.qdoc \
+ doc/reference/modules/*.qdoc \
doc/qbs.qdocconf \
doc/config/qbs-project.qdocconf