From 1e56179d0cc58f5d238e30be4a054644776a19e2 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 17 Aug 2022 10:45:54 +0200 Subject: [PATCH] QbsProjectManager: Consider qbs.sysroot for code model flags This is particularly relevant on macOS, where we have an implicit sysroot that's not exposed in the kit. Change-Id: I85f6cd989e2f32857c007822fd68fbaf0cead7e0 Reviewed-by: Reviewed-by: Qt CI Bot Reviewed-by: Christian Stenger --- src/plugins/qbsprojectmanager/qbsproject.cpp | 4 ++++ src/plugins/qbsprojectmanager/qbssession.cpp | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 783904ca3bc..23aaa9010f6 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -766,6 +766,10 @@ static void getExpandedCompilerFlags(QStringList &cFlags, QStringList &cxxFlags, << arrayToStringList(getCppProp("driverFlags")); const QStringList toolchain = arrayToStringList(properties.value("qbs.toolchain")); if (toolchain.contains("gcc")) { + if (const QString sysroot = properties.value("qbs.sysroot").toString(); + !sysroot.isEmpty()) { + commonFlags << "--sysroot" << sysroot; + } bool hasTargetOption = false; if (toolchain.contains("clang")) { const int majorVersion = getCppProp("compilerVersionMajor").toInt(); diff --git a/src/plugins/qbsprojectmanager/qbssession.cpp b/src/plugins/qbsprojectmanager/qbssession.cpp index 746fd515bf4..617390cbc14 100644 --- a/src/plugins/qbsprojectmanager/qbssession.cpp +++ b/src/plugins/qbsprojectmanager/qbssession.cpp @@ -350,8 +350,6 @@ RunEnvironmentResult QbsSession::getRunEnvironment( void QbsSession::insertRequestedModuleProperties(QJsonObject &request) { request.insert("module-properties", QJsonArray::fromStringList({ - "qbs.architecture", - "qbs.architectures", "cpp.commonCompilerFlags", "cpp.compilerVersionMajor", "cpp.compilerVersionMinor", @@ -383,6 +381,9 @@ void QbsSession::insertRequestedModuleProperties(QJsonObject &request) "cpp.useCxxPrecompiledHeader", "cpp.useObjcPrecompiledHeader", "cpp.useObjcxxPrecompiledHeader", + "qbs.architecture", + "qbs.architectures", + "qbs.sysroot", "qbs.targetOS", "qbs.toolchain", "Qt.core.enableKeywords",