aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsprojectmanager
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2020-06-03 10:32:42 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2020-06-12 09:14:31 +0000
commit1d2af6b4cc5e67498a2c26645186eb3ea7e45093 (patch)
treee6fb82c73211b8259092544e6e215c52dcaac530 /src/plugins/qbsprojectmanager
parente115e9b9702170637444b50888260b095ccf8edc (diff)
clang-tidy: Consider context when encountering duplicate files
Prefer source files from contexts where we know that they actually get built and thus should have includes and compiler flags properly set up. Also fix the qmake and qbs project managers to not mislabel any non- application products as libraries. Fixes: QTCREATORBUG-23394 Change-Id: I0d122c7b58e12d14d68a1ca7337df83074299cd7 Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Diffstat (limited to 'src/plugins/qbsprojectmanager')
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index 4e46e43c68..db8404f178 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -916,9 +916,17 @@ static RawProjectParts generateProjectParts(
location.value("line").toInt(),
location.value("column").toInt());
rpp.setBuildSystemTarget(QbsProductNode::getBuildKey(prd));
- rpp.setBuildTargetType(prd.value("is-runnable").toBool()
- ? BuildTargetType::Executable
- : BuildTargetType::Library);
+ if (prd.value("is-runnable").toBool()) {
+ rpp.setBuildTargetType(BuildTargetType::Executable);
+ } else {
+ const QJsonArray pType = prd.value("type").toArray();
+ if (pType.contains("staticlibrary") || pType.contains("dynamiclibrary")
+ || pType.contains("loadablemodule")) {
+ rpp.setBuildTargetType(BuildTargetType::Library);
+ } else {
+ rpp.setBuildTargetType(BuildTargetType::Unknown);
+ }
+ }
rpp.setSelectedForBuilding(grp.value("is-enabled").toBool());
QHash<QString, QJsonObject> filePathToSourceArtifact;