ProjectExplorer: FilePathify extracompiler.cpp

Change-Id: I74712eb4f7f73dd809edf3ca4cfa8a14572e0365
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
hjk
2022-11-23 12:21:23 +01:00
parent decbb93069
commit 8d645a506d

View File

@@ -86,22 +86,20 @@ ExtraCompiler::ExtraCompiler(const Project *project, const FilePath &source,
// Use existing target files, where possible. Otherwise run the compiler. // Use existing target files, where possible. Otherwise run the compiler.
QDateTime sourceTime = d->source.lastModified(); QDateTime sourceTime = d->source.lastModified();
for (const FilePath &target : targets) { for (const FilePath &target : targets) {
QFileInfo targetFileInfo(target.toFileInfo()); if (!target.exists()) {
if (!targetFileInfo.exists()) {
d->dirty = true; d->dirty = true;
continue; continue;
} }
QDateTime lastModified = targetFileInfo.lastModified(); QDateTime lastModified = target.lastModified();
if (lastModified < sourceTime) if (lastModified < sourceTime)
d->dirty = true; d->dirty = true;
if (!d->compileTime.isValid() || d->compileTime > lastModified) if (!d->compileTime.isValid() || d->compileTime > lastModified)
d->compileTime = lastModified; d->compileTime = lastModified;
QFile file(target.toString()); if (const std::optional<QByteArray> contents = target.fileContents())
if (file.open(QFile::ReadOnly | QFile::Text)) setContent(target, *contents);
setContent(target, file.readAll());
} }
} }
@@ -171,10 +169,9 @@ void ExtraCompiler::onTargetsBuilt(Project *project)
if (d->compileTime >= generateTime) if (d->compileTime >= generateTime)
return; return;
QFile file(target.toString()); if (const std::optional<QByteArray> contents = target.fileContents()) {
if (file.open(QFile::ReadOnly | QFile::Text)) {
d->compileTime = generateTime; d->compileTime = generateTime;
setContent(target, file.readAll()); setContent(target, *contents);
} }
} }
}); });