diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2014-01-17 17:58:22 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2014-01-20 11:57:28 +0100 |
commit | 58f8123b96480cf09a0ba7c443d514de8cc3f3b3 (patch) | |
tree | 7a1909d7e1d4066a67dce6d81d341f75410f6c0c | |
parent | 8ae6b0c7115033fb957dc5cfca97da525dc0182a (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.cpp | 5 |
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 |