[QBS] Qbs IncrediBuild in QtCreator

Thomas Epting thomas.epting.stryker at gmail.com
Thu Jul 24 10:58:37 CEST 2014


Hallo Tobias!

> how does commandline qbs know that it is supposed to use
> incredibuild or not?

The short answer is: it doesn't.

The more detailed answer: IncrediBuild provides an "interception" interface
(
http://www.incredibuild.com/webhelp/IncrediBuild_integration_interfaces2.html),
which is configured when starting ibConsole. Take a look at ibmsvc.xml: It
instructs IncrediBuild to watch for processes started by "qbs". If the
process is either "cl", "moc", etc, IB will intercept these and queue them
for execution on agents which are currently idle.

So if you start QtCreator itself via an ibConsole configured in this way,
the parallelization works "magically" as expected, but has the drawback
that your own machine is blocked for IB as long as QtCreator is running.
(This means, if all developers would be using QtCreator in this ways, there
were no more agents for parallelization available, which makes the whole
thing useless *g*.) There is also no way to notify IB that a build has
started/ended, which could free your own machine and make it usable for
others while not building currently.

> If it is not: Do you happen to know what else is needed to get
> incredibuild support enabled?

When browsing through the IncrediBuild documentation (
http://www.incredibuild.com/webhelp/webframe.htm) you will find that there
is another kind of interface called "Submission Interface". It allows to
explicitely add jobs to the IB queue and wait for results. However this
kind of integration needs to be directly integrated in qbs (or any other
make/build tool you would like to support), and AFAIK you also need a more
expensive license for this use case.

Best regards,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20140724/33164321/attachment.html>


More information about the Qbs mailing list