From 49e268d64909c0a29bc137029cf07d2d4dc1ac22 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 22 Oct 2024 12:41:37 +0200 Subject: [PATCH] QbsProjectManager: Use qbs.toolchainType in profiles This has been the property to set for a long time, so let's finaly do it here as well. Change-Id: I9b1c1d7d5004d54ccb50d42b2fb6ea43128f89bf Reviewed-by: Christian Stenger --- .../defaultpropertyprovider.cpp | 28 +++++++++---------- .../qbsprojectmanagerconstants.h | 1 - 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp index 402c97bc8b2..be6466b3199 100644 --- a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp +++ b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp @@ -102,30 +102,30 @@ static QString targetPlatform(const ProjectExplorer::Abi &abi, const ProjectExpl return QString(); } -static QStringList toolchainList(const ProjectExplorer::Toolchain *tc) +static QString toolchainType(const ProjectExplorer::Toolchain *tc) { const Utils::Id type = tc->typeId(); if (type == ProjectExplorer::Constants::CLANG_TOOLCHAIN_TYPEID || (type == Android::Constants::ANDROID_TOOLCHAIN_TYPEID && tc->compilerCommand().fileName().contains("clang"))) { - return {"clang", "llvm", "gcc"}; + return "clang"; } if (type == ProjectExplorer::Constants::GCC_TOOLCHAIN_TYPEID || type == Android::Constants::ANDROID_TOOLCHAIN_TYPEID) { - return {"gcc"}; // TODO: Detect llvm-gcc + return "gcc"; // TODO: Detect llvm-gcc } if (type == ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID) - return {"mingw", "gcc"}; + return "mingw"; if (type == ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID) - return {"clang-cl", "msvc"}; + return "clang-cl"; if (type == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID) - return {"msvc"}; + return "msvc"; if (type == BareMetal::Constants::IAREW_TOOLCHAIN_TYPEID) - return {"iar"}; + return "iar"; if (type == BareMetal::Constants::KEIL_TOOLCHAIN_TYPEID) - return {"keil"}; + return "keil"; if (type == BareMetal::Constants::SDCC_TOOLCHAIN_TYPEID) - return {"sdcc"}; + return "sdcc"; return {}; } @@ -258,7 +258,7 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor } data.insert(QLatin1String(QBS_TARGETPLATFORM), targetPlatform(targetAbi, k)); - QStringList toolchain = toolchainList(mainTc); + QString toolchain = toolchainType(mainTc); if (targetAbi.osFlavor() == Abi::AndroidLinuxFlavor) { const IDevice::ConstPtr dev = DeviceKitAspect::device(k); if (dev) { @@ -313,12 +313,12 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor if (!mainToolchainPrefix.isEmpty()) data.insert(QLatin1String(CPP_TOOLCHAINPREFIX), mainToolchainPrefix); - if (toolchain.contains(QLatin1String("clang-cl"))) { + if (toolchain == "clang-cl") { data.insert(QLatin1String(CPP_COMPILERNAME), mainCompilerName); const auto clangClToolchain = static_cast(mainTc); data.insert(QLatin1String(CPP_VCVARSALLPATH), clangClToolchain->varsBat()); - } else if (toolchain.contains(QLatin1String("msvc"))) { + } else if (toolchain == "msvc") { data.insert(QLatin1String(CPP_COMPILERNAME), mainCompilerName); } else { if (!mainCompilerName.isEmpty()) @@ -353,7 +353,7 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor if (compilerReMatch.hasMatch()) { const QString developerPath = compilerReMatch.captured(QStringLiteral("developerpath")); data.insert(QLatin1String(XCODE_DEVELOPERPATH), developerPath); - toolchain.insert(0, QStringLiteral("xcode")); + toolchain = "xcode"; // If the sysroot is part of this developer path, set the canonical SDK name const QDir sysrootdir(QDir::cleanPath(sysroot)); @@ -382,7 +382,7 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor } if (!toolchain.isEmpty()) - data.insert(QLatin1String(QBS_TOOLCHAIN), toolchain); + data.insert("qbs.toolchainType", toolchain); return data; } diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h index 6780455a730..c03ef27356a 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h +++ b/src/plugins/qbsprojectmanager/qbsprojectmanagerconstants.h @@ -54,7 +54,6 @@ const char QBS_TARGETPLATFORM[] = "qbs.targetPlatform"; const char QBS_SYSROOT[] = "qbs.sysroot"; const char QBS_ARCHITECTURES[] = "qbs.architectures"; const char QBS_ARCHITECTURE[] = "qbs.architecture"; -const char QBS_TOOLCHAIN[] = "qbs.toolchain"; const char CPP_TOOLCHAINPATH[] = "cpp.toolchainInstallPath"; const char CPP_TOOLCHAINPREFIX[] = "cpp.toolchainPrefix"; const char CPP_COMPILERNAME[] = "cpp.compilerName";