aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/api/project.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/api/project.cpp')
-rw-r--r--src/lib/corelib/api/project.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp
index 69c7edf77..bad18cab9 100644
--- a/src/lib/corelib/api/project.cpp
+++ b/src/lib/corelib/api/project.cpp
@@ -801,16 +801,14 @@ ProjectTransformerData ProjectPrivate::transformerData()
ProductTransformerData productTransformerData;
for (const Transformer * const t : allTransformers) {
TransformerData tData;
- for (Artifact * const a : t->inputs)
- tData.d->inputs << createArtifactData(a, product, targetArtifacts);
- for (Artifact * const a : t->explicitlyDependsOn)
- tData.d->inputs << createArtifactData(a, product, targetArtifacts);
- for (Artifact * const a
- : RulesApplicator::collectAuxiliaryInputs(t->rule.get(), product.get())) {
- tData.d->inputs << createArtifactData(a, product, targetArtifacts);
- }
- for (Artifact * const a : t->outputs)
+ Set<const Artifact *> allInputs;
+ for (Artifact * const a : t->outputs) {
tData.d->outputs << createArtifactData(a, product, targetArtifacts);
+ for (const Artifact * const child : filterByType<Artifact>(a->children))
+ allInputs << child;
+ }
+ for (const Artifact * const input : allInputs)
+ tData.d->inputs << createArtifactData(input, product, targetArtifacts);
tData.d->commands = ruleCommandListForTransformer(t);
productTransformerData << tData;
}