On Fri, 16 Jun 2017 09:14:30 +0200
Christian Gudrian <[email protected]> wrote:

> We're using a Module to define a code generation rule. This module 
> however depends on a code generation tool which itself is part of the 
> project.
> 
> With Qbs 1.8.1 we're facing a race condition: Qbs executes the code 
> generation step before the generator has been built. Both the generator 
> product and the code generation module are already dependencies of the 
> products which need code generation.

Versions before 1.8 were building all artifacts of dependencies before any 
artifacts of the depending product. This was not intended and arguably a bug, 
because it inhibited parallelization. Now we strictly go by what the rules 
declare. 

> How can we defer code generation until the generator has been built?

Your code generation rule probably needs to look like this:

Rule {
    // ...
    inputsFromDependencies: ["application"]
    // ...
}

Note that you can then refer to the generator executable via 
inputs.application[0].filePath, rather than hardocding the location, as you are 
presumably doing now.


Christian
_______________________________________________
Qbs mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qbs

Reply via email to