[QBS] qbs reached mile stone 0.3

Joerg Bornemann joerg.bornemann at digia.com
Wed Apr 17 10:52:49 CEST 2013


Posting here as well the text version of 
http://blog.qt.digia.com/blog/2013/04/16/qbs-reached-mile-stone-0-3/

Qbs has reached a new mile stone. Since the last one in December, qbs 
has had the following improvements:

The whole codebase has seen a major overhaul. Experiments from the 
prototype phase have been removed. The API for the Qt Creator plugin has 
been stabilized. The test suite has been extended to cover most 
features. On our internal test farm – the same that is used for Qt 
Creator – qbs is tested on Linux, OS X and Windows every time the 
testing infrastructure detects a new change in the repository.

Support for installing your built products has been added. To install 
your project to ~/foo/bar use

qbs install --install-root ~/foo/bar

The project loading phase got faster. On my machine, the times to 
generate the makefiles respectively create the build graph for Qt 
Creator 2.7 look like this:

                 Linux           Windows
qmake -r        26.284 s        99.581 s
qbs resolve     13.813 s        5.510 s

The running time of incremental null builds, that is determining that 
nothing of your project has changed, look currently like this for Qt 
Creator 2.7 (same machine with Windows/Linux dual boot):

                 Linux           Windows
(n)make         3.228s          45.199 s
jom             n/a             25.098 s
qbs             1.884s           1.630 s

The performance gain stems from the fact that qbs only has to check the 
timestamps of the project’s source files. It already knows the 
timestamps of generated files from the previous build.
On Windows this approach gains us much more than on Linux because 
retrieving the file timestamps is so unbelievably slow.

Support for detecting changes of project settings has been improved. 
Changing properties like cpp.defines will now get noticed and result in 
a rebuild of the affected products.

Last but not least, Qt Creator 2.7 comes with an experimental Qbs 
project manager plugin. It provides support for loading and building qbs 
projects.


BR,

Joerg



More information about the Qbs mailing list