qiBuild is a generic framework that helps for managing several projects and their dependencies.
It comes with a set of tools, which are listed below.
Every tool comes with a matching script (qibuild, qisrc, etc.), and must be used from a worktree.
Every project must be inside the worktree, and should have a qiproject.xml at its root. This is how the scripts can find the projects paths when they look for dependencies, for instance.
Read more about this in this section: Worktree and projects.
So, in order to be able to use qiBuild scripts, you should first create a worktree with qibuild init, and then register projects paths with qisrc add.
For instance:
cd ~/work
qibuild init
mkdir my_first_proj
# edit my_first_proj/qiproject.xml
qisrc add my_first_proj
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:
Read more about qibuild in the Building C++ projects with qibuild, or follow the qibuild Programming guide.
The motivation for qisrc is to make it possible to work with several git repositories at the same time.
qidoc is a small tool that helps you write documentation in sphinx or in doxygen, spread across several projects, while making sure you can generate re-locatable HTML documentation.
qilinguist provides tools to help internationalization of any kind of project, using gettext or Qt Linguist as backend.
qipy makes it possible to use Python extensions written in C/C++ with qibuild with pure Python libraries.
qipkg lets you make packages the same way Choregraphe does, but from the command line, and also lets you embed code written in C++ or Python inside the package.
See qipkg tutorial