forked from qt-creator/qt-creator
QbsProjectManager: Do not interpret Project::GeneratedFiles literally
The files retrieved by calling Project::files() with this flag show up in the locator, in search results etc. So only consider files that we know to be human-readable. Task-number: QTCREATORBUG-17382 Change-Id: I7a66159e67207a09adb57b0c5584b0b067fd1fca Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -174,8 +174,21 @@ static void collectFilesForProject(const qbs::ProjectData &project, Project::Fil
|
|||||||
}
|
}
|
||||||
if (mode & Project::GeneratedFiles) {
|
if (mode & Project::GeneratedFiles) {
|
||||||
foreach (const qbs::ProductData &prd, project.products()) {
|
foreach (const qbs::ProductData &prd, project.products()) {
|
||||||
foreach (const qbs::ArtifactData &artifact, prd.generatedArtifacts())
|
foreach (const qbs::ArtifactData &artifact, prd.generatedArtifacts()) {
|
||||||
result.insert(artifact.filePath());
|
// A list of human-readable file types that we can reasonably expect
|
||||||
|
// to get generated during a build. Extend as needed.
|
||||||
|
static const QSet<QString> sourceTags = {
|
||||||
|
QLatin1String("c"), QLatin1String("cpp"), QLatin1String("hpp"),
|
||||||
|
QLatin1String("objc"), QLatin1String("objcpp"),
|
||||||
|
QLatin1String("c_pch_src"), QLatin1String("cpp_pch_src"),
|
||||||
|
QLatin1String("objc_pch_src"), QLatin1String("objcpp_pch_src"),
|
||||||
|
QLatin1String("asm"), QLatin1String("asm_cpp"),
|
||||||
|
QLatin1String("linkerscript"),
|
||||||
|
QLatin1String("qrc"), QLatin1String("java.java")
|
||||||
|
};
|
||||||
|
if (artifact.fileTags().toSet().intersects(sourceTags))
|
||||||
|
result.insert(artifact.filePath());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user