aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph/executor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/buildgraph/executor.cpp')
-rw-r--r--src/lib/corelib/buildgraph/executor.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/corelib/buildgraph/executor.cpp b/src/lib/corelib/buildgraph/executor.cpp
index 5c6376658..832d0f5e1 100644
--- a/src/lib/corelib/buildgraph/executor.cpp
+++ b/src/lib/corelib/buildgraph/executor.cpp
@@ -116,12 +116,13 @@ void Executor::retrieveSourceFileTimestamp(Artifact *artifact) const
{
QBS_CHECK(artifact->artifactType == Artifact::SourceFile);
- if (m_buildOptions.changedFiles().contains(artifact->filePath()))
+ if (m_buildOptions.changedFiles().isEmpty())
+ artifact->setTimestamp(recursiveFileTime(artifact->filePath()));
+ else if (m_buildOptions.changedFiles().contains(artifact->filePath()))
artifact->setTimestamp(FileTime::currentTime());
- else if (m_buildOptions.changedFiles().isEmpty())
+ else if (!artifact->timestamp().isValid())
artifact->setTimestamp(recursiveFileTime(artifact->filePath()));
- else
- artifact->setTimestamp(FileTime::oldestTime());
+
artifact->timestampRetrieved = true;
}