qibuild.cfg configuration file syntax

General

The qibuild.cfg file is always found in the .qi directory at the root of a QI_WORK_TREE.

Note: the presence of the file is not necessary for qibuild to find a work tree, only the .qi directory is used.

When using nested worktrees (not recommended), the first .qi/qibuild.cfg found file is used.

The file follows the synatx of the ConfigParser Python module.

[general]
cmake.generator = "Unix Makefiles"

Using configurations

You may want to have several configurations for the same work tree, and for instance have a vs2010 and a mingw configuration.

In this case, the CMake generators will be different, so you will need to have something like

[general]
cmake.generator = "Unix Makefiles"

[config vs2010]
cmake.generator = "Visual Studio 10"

[config mingw]
cmake.generators = "MinGW Makefiles"

Here are the generators that will be used depending on the configuration specified by the -c option of qibuild:

$ qibuild configure

Using cmake generator: Unix Makefiles
(from 'general' section)

$ qibuild configure -c vs2010

Using cmake generator: Visual Studio 10
(from 'config vs2010' section)

$ qibuild config -c mingw

Using cmake generator: MinGW Makefiles
(from 'config mingw' section)

A default configuration can be specified in the [general] section:

[general]
config = vs2010

Known keys

env.editor

The editor to use. (By default on UNIX, $EDITOR will be used)

env.ide.path

The IDE to use with qibuild open.

Not used with Visual Studio: we will simply call start path\to\project.sln

env.path

A list of colon or semi-colon separated to be added to the PATH environment when calling cmake or building projects. The spaces between colons will be stripped:

For instance on Windows:

[general]
env.path = c:\MinGW\bin;
           c:\Program Files\swig;

On UNIX:

[general]
env.path = ~/QtSDK/qtcreator/bin:
           /opt/swig/bin:

env.bat_file

A .bat script that will be sourced to get the new environment. Very useful to use cl.exe from the command line
[general]
env.bat_file = c:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat

build.directory

Instead of creating a different build directory per project, (for instance ~/src/hello/build-linux), every build directory will be created under this directory, for instance /path/to/build.directory/hello/build-linux

Mandatory if you are using Eclipse CDT.

build.sdk_dir

This is useful when you want all your projects to use the same ‘sdk’ directory.

This means that all the results of the compilation will end up in the same directory, rather that being spread over all the projects.

build.incredibuild

Will use BuildConsole.exe instead of cmake --build when building projects.

For this to work you must set the something like C:\Program Files\Xoreax\IncrediBuild\ in PATH, or use env.path configuration.

cmake.generator

The CMake generator to use. Will be passed as-is to cmake -G when using qibuild configure.

You can get the full list currently supported by your CMake installation with cmake --help

manifest.url

The manifest to use when calling qisrc fetch. Stored by qisrc fetch the first time it is called, so specifying the manifest URL is no longer necessary.