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();
|
return QString();
|
||||||
}
|
}
|
||||||
|
|
||||||
static QStringList toolchainList(const ProjectExplorer::Toolchain *tc)
|
static QString toolchainType(const ProjectExplorer::Toolchain *tc)
|
||||||
{
|
{
|
||||||
const Utils::Id type = tc->typeId();
|
const Utils::Id type = tc->typeId();
|
||||||
if (type == ProjectExplorer::Constants::CLANG_TOOLCHAIN_TYPEID
|
if (type == ProjectExplorer::Constants::CLANG_TOOLCHAIN_TYPEID
|
||||||
|| (type == Android::Constants::ANDROID_TOOLCHAIN_TYPEID
|
|| (type == Android::Constants::ANDROID_TOOLCHAIN_TYPEID
|
||||||
&& tc->compilerCommand().fileName().contains("clang"))) {
|
&& tc->compilerCommand().fileName().contains("clang"))) {
|
||||||
return {"clang", "llvm", "gcc"};
|
return "clang";
|
||||||
}
|
}
|
||||||
if (type == ProjectExplorer::Constants::GCC_TOOLCHAIN_TYPEID
|
if (type == ProjectExplorer::Constants::GCC_TOOLCHAIN_TYPEID
|
||||||
|| type == Android::Constants::ANDROID_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)
|
if (type == ProjectExplorer::Constants::MINGW_TOOLCHAIN_TYPEID)
|
||||||
return {"mingw", "gcc"};
|
return "mingw";
|
||||||
if (type == ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID)
|
if (type == ProjectExplorer::Constants::CLANG_CL_TOOLCHAIN_TYPEID)
|
||||||
return {"clang-cl", "msvc"};
|
return "clang-cl";
|
||||||
if (type == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID)
|
if (type == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID)
|
||||||
return {"msvc"};
|
return "msvc";
|
||||||
if (type == BareMetal::Constants::IAREW_TOOLCHAIN_TYPEID)
|
if (type == BareMetal::Constants::IAREW_TOOLCHAIN_TYPEID)
|
||||||
return {"iar"};
|
return "iar";
|
||||||
if (type == BareMetal::Constants::KEIL_TOOLCHAIN_TYPEID)
|
if (type == BareMetal::Constants::KEIL_TOOLCHAIN_TYPEID)
|
||||||
return {"keil"};
|
return "keil";
|
||||||
if (type == BareMetal::Constants::SDCC_TOOLCHAIN_TYPEID)
|
if (type == BareMetal::Constants::SDCC_TOOLCHAIN_TYPEID)
|
||||||
return {"sdcc"};
|
return "sdcc";
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -258,7 +258,7 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
|
|||||||
}
|
}
|
||||||
data.insert(QLatin1String(QBS_TARGETPLATFORM), targetPlatform(targetAbi, k));
|
data.insert(QLatin1String(QBS_TARGETPLATFORM), targetPlatform(targetAbi, k));
|
||||||
|
|
||||||
QStringList toolchain = toolchainList(mainTc);
|
QString toolchain = toolchainType(mainTc);
|
||||||
if (targetAbi.osFlavor() == Abi::AndroidLinuxFlavor) {
|
if (targetAbi.osFlavor() == Abi::AndroidLinuxFlavor) {
|
||||||
const IDevice::ConstPtr dev = DeviceKitAspect::device(k);
|
const IDevice::ConstPtr dev = DeviceKitAspect::device(k);
|
||||||
if (dev) {
|
if (dev) {
|
||||||
@@ -313,12 +313,12 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
|
|||||||
if (!mainToolchainPrefix.isEmpty())
|
if (!mainToolchainPrefix.isEmpty())
|
||||||
data.insert(QLatin1String(CPP_TOOLCHAINPREFIX), mainToolchainPrefix);
|
data.insert(QLatin1String(CPP_TOOLCHAINPREFIX), mainToolchainPrefix);
|
||||||
|
|
||||||
if (toolchain.contains(QLatin1String("clang-cl"))) {
|
if (toolchain == "clang-cl") {
|
||||||
data.insert(QLatin1String(CPP_COMPILERNAME), mainCompilerName);
|
data.insert(QLatin1String(CPP_COMPILERNAME), mainCompilerName);
|
||||||
const auto clangClToolchain =
|
const auto clangClToolchain =
|
||||||
static_cast<ProjectExplorer::Internal::ClangClToolchain *>(mainTc);
|
static_cast<ProjectExplorer::Internal::ClangClToolchain *>(mainTc);
|
||||||
data.insert(QLatin1String(CPP_VCVARSALLPATH), clangClToolchain->varsBat());
|
data.insert(QLatin1String(CPP_VCVARSALLPATH), clangClToolchain->varsBat());
|
||||||
} else if (toolchain.contains(QLatin1String("msvc"))) {
|
} else if (toolchain == "msvc") {
|
||||||
data.insert(QLatin1String(CPP_COMPILERNAME), mainCompilerName);
|
data.insert(QLatin1String(CPP_COMPILERNAME), mainCompilerName);
|
||||||
} else {
|
} else {
|
||||||
if (!mainCompilerName.isEmpty())
|
if (!mainCompilerName.isEmpty())
|
||||||
@@ -353,7 +353,7 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
|
|||||||
if (compilerReMatch.hasMatch()) {
|
if (compilerReMatch.hasMatch()) {
|
||||||
const QString developerPath = compilerReMatch.captured(QStringLiteral("developerpath"));
|
const QString developerPath = compilerReMatch.captured(QStringLiteral("developerpath"));
|
||||||
data.insert(QLatin1String(XCODE_DEVELOPERPATH), 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
|
// If the sysroot is part of this developer path, set the canonical SDK name
|
||||||
const QDir sysrootdir(QDir::cleanPath(sysroot));
|
const QDir sysrootdir(QDir::cleanPath(sysroot));
|
||||||
@@ -382,7 +382,7 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!toolchain.isEmpty())
|
if (!toolchain.isEmpty())
|
||||||
data.insert(QLatin1String(QBS_TOOLCHAIN), toolchain);
|
data.insert("qbs.toolchainType", toolchain);
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
@@ -54,7 +54,6 @@ const char QBS_TARGETPLATFORM[] = "qbs.targetPlatform";
|
|||||||
const char QBS_SYSROOT[] = "qbs.sysroot";
|
const char QBS_SYSROOT[] = "qbs.sysroot";
|
||||||
const char QBS_ARCHITECTURES[] = "qbs.architectures";
|
const char QBS_ARCHITECTURES[] = "qbs.architectures";
|
||||||
const char QBS_ARCHITECTURE[] = "qbs.architecture";
|
const char QBS_ARCHITECTURE[] = "qbs.architecture";
|
||||||
const char QBS_TOOLCHAIN[] = "qbs.toolchain";
|
|
||||||
const char CPP_TOOLCHAINPATH[] = "cpp.toolchainInstallPath";
|
const char CPP_TOOLCHAINPATH[] = "cpp.toolchainInstallPath";
|
||||||
const char CPP_TOOLCHAINPREFIX[] = "cpp.toolchainPrefix";
|
const char CPP_TOOLCHAINPREFIX[] = "cpp.toolchainPrefix";
|
||||||
const char CPP_COMPILERNAME[] = "cpp.compilerName";
|
const char CPP_COMPILERNAME[] = "cpp.compilerName";
|
||||||
|
Reference in New Issue
Block a user