forked from qt-creator/qt-creator
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 <christian.stenger@qt.io>
This commit is contained in:
@@ -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<ProjectExplorer::Internal::ClangClToolchain *>(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;
|
||||
}
|
||||
|
@@ -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";
|
||||
|
Reference in New Issue
Block a user