aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-01-17 17:58:22 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2014-01-20 11:57:28 +0100
commit58f8123b96480cf09a0ba7c443d514de8cc3f3b3 (patch)
tree7a1909d7e1d4066a67dce6d81d341f75410f6c0c
parent8ae6b0c7115033fb957dc5cfca97da525dc0182a (diff)
Check all output artifacts if checking timestamps was requested.
Normally, those artifacts for which "alwaysUpdated" is false are skipped as to not cause false positives. However, if the user indicates that the build directory was messed with, they could, for instance, have been deleted and must therefore be taken into account. Change-Id: I5b0e498c4926c617956ff4e59864489cfc769d15 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--src/lib/buildgraph/executor.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/buildgraph/executor.cpp b/src/lib/buildgraph/executor.cpp
index fe3f2f907..406e5099b 100644
--- a/src/lib/buildgraph/executor.cpp
+++ b/src/lib/buildgraph/executor.cpp
@@ -359,9 +359,10 @@ bool Executor::mustExecuteTransformer(const TransformerPtr &transformer) const
{
bool hasAlwaysUpdatedArtifacts = false;
foreach (Artifact *artifact, transformer->outputs) {
- if (!artifact->alwaysUpdated)
+ if (artifact->alwaysUpdated)
+ hasAlwaysUpdatedArtifacts = true;
+ else if (!m_buildOptions.forceTimestampCheck())
continue;
- hasAlwaysUpdatedArtifacts = true;
const bool upToDate = isUpToDate(artifact);
// The invariant is that all output artifacts of a transformer have the same