qiBuild documentation


qiBuild aims to make compilation of your sources easy. It manages dependencies between projects and supports cross-compilation.

By default qiBuild uses libraries provided by your system, but you can also use qiToolchain to manage sets of pre-compiled packages (called toolchains) if you want. Cross-compilation is then just a matter of using a specific toolchain.

qiBuild is truly cross-platform: it is tested on Linux, Mac and Windows. Being based on the well-known CMake build system, it allows you to use your existing tools such as gcc, Make, or Visual Studio.

The qiBuild framework tries hard to stand out of your way: it remains close to standards, and will play nice with other build systems.

qiBuild is composed of two parts:

  • the qiBuild CMake framework, that simplifies authoring CMakeLists.txt.
  • the qibuild/qitoolchain command line tools, that helps build projects while taking dependencies into account and generate re-distributable binary packages

Getting started with qiBuild

First, please follow the tutorial in the Getting Started section.

You can now read the qiBuild in five minutes section if you want to dig in right now.

qiBuild programming guide

Please follow the qiBuild Programming guide for a more progressive, comprehensive course.

Contributing to qiBuild

qiBuild development process take place on github: https://github.com/aldebaran/qibuild

Please open an issue on github for every qibuild bug you may find, but make sure to read this first:

Please fork the project on github and make a merge request if you want to contribute.

Please also read this first:

qibuild uses the ‘Test Driven Development’ technique.

It is advised you write tests before adding new code.

You can read more about it here:

In any case, you must make sure to check your code is correct before sending a merge request:

Please also make sure to submit documentation updates concerning your changes.

qiBuild design

Read this if you want to learn more about qiBuild design:

qiBuild design

qiBuild and other build frameworks

Read this if you are already using a build framework.

Release notes