diff options
| author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-05-31 13:48:23 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-05-31 15:37:43 +0200 |
| commit | 085c36cd85ce9cffe8c5b348aaac94a1b2c60b16 (patch) | |
| tree | 0491714073088dec836f8cd72c2df37a50968246 /doc | |
| parent | 1ca7b9dbd7b8fc9bf6077801269f4e98a23734f7 (diff) | |
| download | qbs-085c36cd85ce9cffe8c5b348aaac94a1b2c60b16.tar.gz | |
Doc: document the cpp module
Change-Id: I951fe51fd805256009d799fccc4f1500500f3802
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/qbs.qdoc | 340 |
1 files changed, 340 insertions, 0 deletions
diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc index 77163fcd9..12541678a 100644 --- a/doc/qbs.qdoc +++ b/doc/qbs.qdoc @@ -977,4 +977,344 @@ \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{array of strings} + \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{array of strings} + \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{array of strings} + \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{array of strings} + \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{array of strings} + \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 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 cppFlags + + \table + \row \li \b{Type:} \li \c{array of strings} + \row \li \b{Default:} \li undefined + \endtable + + Additional flags for the C preprocessor. + + \section2 cFlags + + \table + \row \li \b{Type:} \li \c{array of strings} + \row \li \b{Default:} \li undefined + \endtable + + Additional flags for the C compiler. + + \section2 cxxFlags + + \table + \row \li \b{Type:} \li \c{array of strings} + \row \li \b{Default:} \li undefined + \endtable + + Additional flags for the C++ compiler. + + \section2 objcFlags + + \table + \row \li \b{Type:} \li \c{array of strings} + \row \li \b{Default:} \li undefined + \endtable + + Additional flags for the Objective-C compiler. + + \section2 objcxxFlags + + \table + \row \li \b{Type:} \li \c{array of strings} + \row \li \b{Default:} \li undefined + \endtable + + Additional flags for the Objective-C++ compiler. + + \section2 linkerFlags + + \table + \row \li \b{Type:} \li \c{array of strings} + \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. + + + \section1 Properties specific to OS X + + \section2 minimumMacVersion + + \table + \row \li \b{Type:} \li \c{string} + \row \li \b{Default:} \li determined by qbs-detect-toolchains + \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. + + \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{array of strings} + \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{array of strings} + \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. + + + \section1 Properties specific to iOS + + \section2 minimumIosVersion + + \table + \row \li \b{Type:} \li \c{string} + \row \li \b{Default:} \li determined by qbs-detect-toolchains + \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 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{array of strings} + \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 minimumWindowsVersion + + \table + \row \li \b{Type:} \li \c{string} + \row \li \b{Default:} \li determined by qbs-detect-toolchains + \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 (or -Wl,-subsystem and + -Wl,-osversion). If undefined, compiler defaults will be used. */ |
