aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsprojectmanager/qbsproject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qbsprojectmanager/qbsproject.cpp')
-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;