forked from qt-creator/qt-creator
QbsProjectManager: Un-break MSVC.
Commit aad5ca12c4 was over-eager, wrongly assuming the presence of
cpp.cxxCompilerName for MSVC and also not taking into account that
we don't set cpp.compilerVersion* from Qt Creator.
Task-number: QBS-846
Change-Id: Id6a88c18f2c460ef66f0339aeb999b7fc0321225
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
This commit is contained in:
@@ -230,6 +230,9 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
|
|||||||
const QString toolchainPrefix = extractToolchainPrefix(&compilerName);
|
const QString toolchainPrefix = extractToolchainPrefix(&compilerName);
|
||||||
if (!toolchainPrefix.isEmpty())
|
if (!toolchainPrefix.isEmpty())
|
||||||
data.insert(QLatin1String(CPP_TOOLCHAINPREFIX), toolchainPrefix);
|
data.insert(QLatin1String(CPP_TOOLCHAINPREFIX), toolchainPrefix);
|
||||||
|
if (toolchain.contains(QLatin1String("msvc")))
|
||||||
|
data.insert(QLatin1String(CPP_COMPILERNAME), compilerName);
|
||||||
|
else
|
||||||
data.insert(QLatin1String(CPP_CXXCOMPILERNAME), compilerName);
|
data.insert(QLatin1String(CPP_CXXCOMPILERNAME), compilerName);
|
||||||
if (targetAbi.os() != ProjectExplorer::Abi::WindowsOS
|
if (targetAbi.os() != ProjectExplorer::Abi::WindowsOS
|
||||||
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) {
|
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) {
|
||||||
@@ -237,6 +240,13 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
|
|||||||
}
|
}
|
||||||
data.insert(QLatin1String(CPP_TOOLCHAINPATH), cxxFileInfo.absolutePath());
|
data.insert(QLatin1String(CPP_TOOLCHAINPATH), cxxFileInfo.absolutePath());
|
||||||
|
|
||||||
|
// TODO: Remove this once compiler version properties are set for MSVC
|
||||||
|
if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor
|
||||||
|
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor) {
|
||||||
|
const QLatin1String flags("/FS");
|
||||||
|
data.insert(QLatin1String(CPP_PLATFORMCFLAGS), flags);
|
||||||
|
data.insert(QLatin1String(CPP_PLATFORMCXXFLAGS), flags);
|
||||||
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,8 +41,11 @@ const char QBS_ARCHITECTURE[] = "qbs.architecture";
|
|||||||
const char QBS_TOOLCHAIN[] = "qbs.toolchain";
|
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_CXXCOMPILERNAME[] = "cpp.cxxCompilerName";
|
const char CPP_CXXCOMPILERNAME[] = "cpp.cxxCompilerName";
|
||||||
const char CPP_LINKERNAME[] = "cpp.linkerName";
|
const char CPP_LINKERNAME[] = "cpp.linkerName";
|
||||||
|
const char CPP_PLATFORMCFLAGS[] = "cpp.platformCFlags";
|
||||||
|
const char CPP_PLATFORMCXXFLAGS[] = "cpp.platformCxxFlags";
|
||||||
const char CPP_PLATFORMPATH[] = "cpp.platformPath";
|
const char CPP_PLATFORMPATH[] = "cpp.platformPath";
|
||||||
const char CPP_XCODESDKNAME[] = "cpp.xcodeSdkName";
|
const char CPP_XCODESDKNAME[] = "cpp.xcodeSdkName";
|
||||||
const char CPP_XCODESDKVERSION[] = "cpp.xcodeSdkVersion";
|
const char CPP_XCODESDKVERSION[] = "cpp.xcodeSdkVersion";
|
||||||
|
|||||||
Reference in New Issue
Block a user