[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