diff options
| author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-07-31 16:24:22 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-07-31 17:47:05 +0200 |
| commit | 5de392494edd0def634b8446f361613a5ab28d0c (patch) | |
| tree | 078cb5cd88d99b437b29e78ea5bddab9ed23f670 /src/lib/buildgraph/rulesapplicator.cpp | |
| parent | a2b01de7b674659ac58df4f5623befa0c91b0154 (diff) | |
| download | qbs-5de392494edd0def634b8446f361613a5ab28d0c.tar.gz | |
assign the product's build config to rule outputs
Before: Every output artifact of a rule output inherits the build config
of an arbitrary input artifact if the rule is not a multiplex rule.
Now: Every output artifact of a rule gets the product's build config.
The former behavior falls apart if a rule has multiple inputs and
creates inconsistency between multiplex and non-multiplex rules.
It also has the effect that object files get installed if source files
are marked with "install: true".
Change-Id: I59de3d037b20e9d3c21c244da0d3547410e9e4da
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/buildgraph/rulesapplicator.cpp')
| -rw-r--r-- | src/lib/buildgraph/rulesapplicator.cpp | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/lib/buildgraph/rulesapplicator.cpp b/src/lib/buildgraph/rulesapplicator.cpp index 34fdae728..3fd4fb7dc 100644 --- a/src/lib/buildgraph/rulesapplicator.cpp +++ b/src/lib/buildgraph/rulesapplicator.cpp @@ -264,17 +264,13 @@ Artifact *RulesApplicator::createOutputArtifact(const RuleArtifactConstPtr &rule outputArtifact->setFilePath(outputPath); outputArtifact->fileTags = ruleArtifact->fileTags; outputArtifact->alwaysUpdated = ruleArtifact->alwaysUpdated; + outputArtifact->properties = m_product->properties; insertArtifact(m_product, outputArtifact, m_logger); } if (outputArtifact->fileTags.isEmpty()) outputArtifact->fileTags = m_product->fileTagsForFileName(outputArtifact->fileName()); - if (m_rule->multiplex) - outputArtifact->properties = m_product->properties; - else - outputArtifact->properties= (*inputArtifacts.constBegin())->properties; - for (int i = 0; i < m_product->artifactProperties.count(); ++i) { const ArtifactPropertiesConstPtr &props = m_product->artifactProperties.at(i); if (outputArtifact->fileTags.matches(props->fileTagsFilter())) { |
