qiBuild: the build framework¶
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 (
and must be used from a worktree.
Every project must be inside the worktree, and should have a
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
cd ~/work qibuild init mkdir my_first_proj # edit my_first_proj/qiproject.xml qisrc add my_first_proj
qibuild: C++ compilation made easy¶
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.
Is qibuild the only one build framework?¶
Of course not!
You can have a loot at
qisrc: Managing git projects¶
The motivation for
qisrc is to make it possible to work
with several git repositories at the same time.
- Yes, we are aware that git submodules exists, but we wanted something more flexible and easier to use.
qisrchas more or less the same features than
gerritsupport for code review), but, contrary to
repo, it preserves a clean branch for you to work in and you can still use
qidoc: Building documentation¶
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: Translating projects¶
qilinguist provides tools to help internationalization
of any kind of project, using
qipy: qibuild and Python¶
qipy makes it possible to use Python extensions
written in C/C++ with
qibuild with pure Python libraries.