aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsprojectmanager
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2023-11-03 14:58:00 +0100
committerEike Ziller <eike.ziller@qt.io>2023-11-03 14:58:00 +0100
commitf9d46973717881b6891012810ffb87599ca7db58 (patch)
tree64b828750a4d02a013d54f1141d3e03aa14c4821 /src/plugins/qbsprojectmanager
parent5f7be10349339519a5977be9db9a3f781709e20b (diff)
parent0b322ef178551852c88f60e35cb78f5d5be585a0 (diff)
Merge remote-tracking branch 'origin/12.0'
Diffstat (limited to 'src/plugins/qbsprojectmanager')
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectimporter.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
index 6fbae2dc4ab..d9d2d4c921b 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectimporter.cpp
@@ -22,6 +22,7 @@
#include <utils/hostosinfo.h>
#include <QFileInfo>
+#include <QJsonArray>
using namespace ProjectExplorer;
using namespace Utils;
@@ -40,6 +41,7 @@ struct BuildGraphData
FilePath qtBinPath;
FilePath sysroot;
QString buildVariant;
+ QStringList targetOS;
};
static BuildGraphData extractBgData(const QbsSession::BuildGraphInfo &bgInfo)
{
@@ -50,7 +52,8 @@ static BuildGraphData extractBgData(const QbsSession::BuildGraphInfo &bgInfo)
const QVariantMap prjCompilerPathByLanguage
= moduleProps.value("cpp.compilerPathByLanguage").toMap();
const QString prjCompilerPath = moduleProps.value("cpp.compilerPath").toString();
- const QStringList prjToolchain = moduleProps.value("qbs.toolchain").toStringList();
+ const QStringList prjToolchain = arrayToStringList(
+ moduleProps.value("qbs.toolchain").toJsonArray());
const bool prjIsMsvc = prjToolchain.contains("msvc");
bgData.cCompilerPath = FilePath::fromString(
prjIsMsvc ? prjCompilerPath : prjCompilerPathByLanguage.value("c").toString());
@@ -59,6 +62,7 @@ static BuildGraphData extractBgData(const QbsSession::BuildGraphInfo &bgInfo)
bgData.qtBinPath = FilePath::fromString(moduleProps.value("Qt.core.binPath").toString());
bgData.sysroot = FilePath::fromString(moduleProps.value("qbs.sysroot").toString());
bgData.buildVariant = moduleProps.value("qbs.buildVariant").toString();
+ bgData.targetOS = arrayToStringList(moduleProps.value("qbs.targetOS").toJsonArray());
return bgData;
}
@@ -116,7 +120,7 @@ QList<void *> QbsProjectImporter::examineDirectory(const FilePath &importPath,
QList<void *> data;
const FilePath bgFilePath = importPath.pathAppended(importPath.fileName() + ".bg");
const QStringList relevantProperties({
- "qbs.buildVariant", "qbs.sysroot", "qbs.toolchain",
+ "qbs.buildVariant", "qbs.sysroot", "qbs.targetOS", "qbs.toolchain",
"cpp.compilerPath", "cpp.compilerPathByLanguage",
"Qt.core.binPath"
});
@@ -162,7 +166,7 @@ bool QbsProjectImporter::matchKit(void *directoryData, const Kit *k) const
if (bgData->qtBinPath != qtVersion->hostBinPath())
return false;
}
- if (bgData->sysroot != SysRootKitAspect::sysRoot(k))
+ if (!bgData->targetOS.contains("macos") && bgData->sysroot != SysRootKitAspect::sysRoot(k))
return false;
qCDebug(qbsPmLog) << "Kit matches";