[QBS] When are rules built?
Joerg Bornemann
joerg.bornemann at digia.com
Tue Jul 2 11:35:08 CEST 2013
On 01/07/2013 16:28, Johannes.Matokic at microchip.com wrote:
> So I started wondering what is required that a rule is considered part of the build-process?
Each rule has input filetags and ouput artifacts (with file tags). The
rules form a directed graph: rule A is connected to rule B iff the
filetags of the output artifacts of A match some input file tags in B.
We call that structure the rule graph.
You have a certain set of source files in your project. All of those
get some file tag, either explicitly or implicitly via file taggers.
Then there's the product's type which specifies what kind of product you
want to produce. Product.type is a list of file tags.
When creating the build graph, qbs looks in the rule graph for paths
from the source files to the file tags in Product.type. Only the rules
on these paths are applied.
If you have some rule R that's not applied then it's because:
- There's no source file or generated file with a file tag that's in
R.inputs.
- There's no file tag in Product.type that matches R's output artifacts.
Or more generally: R is not on some path from the source files to
Product.type.
BR,
Joerg
--
Joerg Bornemann
Digia, Qt
http://qt.digia.com/
More information about the Qbs
mailing list