summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-02-14 15:06:45 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2017-02-16 12:24:15 +0000
commita7ed20faaa927ecfa7493757756cef35a5c4c33c (patch)
tree8eeb7c1dea5e3dd293e0f139f78a0db5c0c0ba28
parent8ed4685b9903a97df9175e89584727981d1743eb (diff)
downloadqt-creator-a7ed20faaa927ecfa7493757756cef35a5c4c33c.tar.gz
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>
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index 3c3747d30c..37fd8b633c 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -174,8 +174,21 @@ static void collectFilesForProject(const qbs::ProjectData &project, Project::Fil
}
if (mode & Project::GeneratedFiles) {
foreach (const qbs::ProductData &prd, project.products()) {
- foreach (const qbs::ArtifactData &artifact, prd.generatedArtifacts())
- result.insert(artifact.filePath());
+ foreach (const qbs::ArtifactData &artifact, prd.generatedArtifacts()) {
+ // 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());
+ }
}
}
}