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: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2022-08-17 10:45:54 +02:00
parent 7c5e92f6fa
commit 1e56179d0c
2 changed files with 7 additions and 2 deletions

View File

@@ -766,6 +766,10 @@ static void getExpandedCompilerFlags(QStringList &cFlags, QStringList &cxxFlags,
<< arrayToStringList(getCppProp("driverFlags")); << arrayToStringList(getCppProp("driverFlags"));
const QStringList toolchain = arrayToStringList(properties.value("qbs.toolchain")); const QStringList toolchain = arrayToStringList(properties.value("qbs.toolchain"));
if (toolchain.contains("gcc")) { if (toolchain.contains("gcc")) {
if (const QString sysroot = properties.value("qbs.sysroot").toString();
!sysroot.isEmpty()) {
commonFlags << "--sysroot" << sysroot;
}
bool hasTargetOption = false; bool hasTargetOption = false;
if (toolchain.contains("clang")) { if (toolchain.contains("clang")) {
const int majorVersion = getCppProp("compilerVersionMajor").toInt(); const int majorVersion = getCppProp("compilerVersionMajor").toInt();

View File

@@ -350,8 +350,6 @@ RunEnvironmentResult QbsSession::getRunEnvironment(
void QbsSession::insertRequestedModuleProperties(QJsonObject &request) void QbsSession::insertRequestedModuleProperties(QJsonObject &request)
{ {
request.insert("module-properties", QJsonArray::fromStringList({ request.insert("module-properties", QJsonArray::fromStringList({
"qbs.architecture",
"qbs.architectures",
"cpp.commonCompilerFlags", "cpp.commonCompilerFlags",
"cpp.compilerVersionMajor", "cpp.compilerVersionMajor",
"cpp.compilerVersionMinor", "cpp.compilerVersionMinor",
@@ -383,6 +381,9 @@ void QbsSession::insertRequestedModuleProperties(QJsonObject &request)
"cpp.useCxxPrecompiledHeader", "cpp.useCxxPrecompiledHeader",
"cpp.useObjcPrecompiledHeader", "cpp.useObjcPrecompiledHeader",
"cpp.useObjcxxPrecompiledHeader", "cpp.useObjcxxPrecompiledHeader",
"qbs.architecture",
"qbs.architectures",
"qbs.sysroot",
"qbs.targetOS", "qbs.targetOS",
"qbs.toolchain", "qbs.toolchain",
"Qt.core.enableKeywords", "Qt.core.enableKeywords",