forked from qt-creator/qt-creator
Qbs: write toolchainPrefix to qbs profile
Task-number: QTCREATORBUG-12133 Change-Id: I9d68c9900b7f701b788953fae334b581d7127386 Reviewed-by: Jake Petroules <jake.petroules@petroules.com> Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
This commit is contained in:
committed by
Christian Kandeler
parent
79b89a55d4
commit
39ae35cd81
@@ -42,6 +42,18 @@
|
||||
namespace QbsProjectManager {
|
||||
using namespace Constants;
|
||||
|
||||
static QString extractToolchainPrefix(QString *compilerName)
|
||||
{
|
||||
QString prefix;
|
||||
if (compilerName->endsWith(QLatin1String("-g++"))
|
||||
|| compilerName->endsWith(QLatin1String("-clang++"))) {
|
||||
const int idx = compilerName->lastIndexOf(QLatin1Char('-')) + 1;
|
||||
prefix = compilerName->left(idx);
|
||||
compilerName->remove(0, idx);
|
||||
}
|
||||
return prefix;
|
||||
}
|
||||
|
||||
QVariantMap DefaultPropertyProvider::properties(const ProjectExplorer::Kit *k, const QVariantMap &defaultData) const
|
||||
{
|
||||
QTC_ASSERT(k, return defaultData);
|
||||
@@ -116,8 +128,13 @@ QVariantMap DefaultPropertyProvider::properties(const ProjectExplorer::Kit *k, c
|
||||
}
|
||||
}
|
||||
Utils::FileName cxx = tc->compilerCommand();
|
||||
data.insert(QLatin1String(CPP_TOOLCHAINPATH), cxx.toFileInfo().absolutePath());
|
||||
data.insert(QLatin1String(CPP_COMPILERNAME), cxx.toFileInfo().fileName());
|
||||
const QFileInfo cxxFileInfo = cxx.toFileInfo();
|
||||
QString compilerName = cxxFileInfo.fileName();
|
||||
const QString toolchainPrefix = extractToolchainPrefix(&compilerName);
|
||||
if (!toolchainPrefix.isEmpty())
|
||||
data.insert(QLatin1String(CPP_TOOLCHAINPREFIX), toolchainPrefix);
|
||||
data.insert(QLatin1String(CPP_COMPILERNAME), compilerName);
|
||||
data.insert(QLatin1String(CPP_TOOLCHAINPATH), cxxFileInfo.absolutePath());
|
||||
if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor) {
|
||||
const QLatin1String flags("/FS");
|
||||
data.insert(QLatin1String(CPP_PLATFORMCFLAGS), flags);
|
||||
|
||||
@@ -40,6 +40,7 @@ const char QBS_ARCHITECTURE[] = "qbs.architecture";
|
||||
const char QBS_ENDIANNESS[] = "qbs.endianness";
|
||||
const char QBS_TOOLCHAIN[] = "qbs.toolchain";
|
||||
const char CPP_TOOLCHAINPATH[] = "cpp.toolchainInstallPath";
|
||||
const char CPP_TOOLCHAINPREFIX[] = "cpp.toolchainPrefix";
|
||||
const char CPP_COMPILERNAME[] = "cpp.compilerName";
|
||||
const char CPP_PLATFORMCFLAGS[] = "cpp.platformCFlags";
|
||||
const char CPP_PLATFORMCXXFLAGS[] = "cpp.platformCxxFlags";
|
||||
|
||||
Reference in New Issue
Block a user