summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-07-31 16:24:22 +0200
committerChristian Kandeler <christian.kandeler@digia.com>2013-07-31 17:47:05 +0200
commit5de392494edd0def634b8446f361613a5ab28d0c (patch)
tree078cb5cd88d99b437b29e78ea5bddab9ed23f670 /src
parenta2b01de7b674659ac58df4f5623befa0c91b0154 (diff)
downloadqbs-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')
-rw-r--r--src/lib/buildgraph/rulesapplicator.cpp6
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())) {