summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-06-12 11:30:43 +0200
committerJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-06-15 11:53:37 +0000
commitf0467f8b01ba585ef2ee652f618d2badb8ab23b6 (patch)
tree66152d755188aad2bd38acb381457dc5b175fdc5
parent483b850aa06325a7d231b011d84775230131735c (diff)
downloadqt-creator-f0467f8b01ba585ef2ee652f618d2badb8ab23b6.tar.gz
support Visual Studio 2015
Task-number: QTBUG-46344 Change-Id: I49c3e2776e65cc83d40d1f5ab3be1365d17242d1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
-rw-r--r--src/plugins/cmakeprojectmanager/generatorinfo.cpp9
-rw-r--r--src/plugins/debugger/cdb/cdbengine.cpp2
-rw-r--r--src/plugins/projectexplorer/abi.cpp11
-rw-r--r--src/plugins/projectexplorer/abi.h1
-rw-r--r--src/plugins/projectexplorer/abstractmsvctoolchain.cpp3
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.cpp12
-rw-r--r--src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp3
7 files changed, 33 insertions, 8 deletions
diff --git a/src/plugins/cmakeprojectmanager/generatorinfo.cpp b/src/plugins/cmakeprojectmanager/generatorinfo.cpp
index 2dfc57e358..50889185cc 100644
--- a/src/plugins/cmakeprojectmanager/generatorinfo.cpp
+++ b/src/plugins/cmakeprojectmanager/generatorinfo.cpp
@@ -72,7 +72,8 @@ QByteArray GeneratorInfo::generator() const
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2008Flavor
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2010Flavor
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2012Flavor
- || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor) {
+ || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor
+ || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor) {
return "NMake Makefiles";
} else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) {
if (Utils::HostOsInfo::isWindowsHost())
@@ -105,7 +106,8 @@ QString GeneratorInfo::displayName() const
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2008Flavor
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2010Flavor
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2012Flavor
- || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor) {
+ || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor
+ || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor) {
return tr("NMake Generator (%1)").arg(m_kit->displayName());
} else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) {
if (Utils::HostOsInfo::isWindowsHost())
@@ -140,7 +142,8 @@ QList<GeneratorInfo> GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, N
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2008Flavor
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2010Flavor
|| targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2012Flavor
- || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor) {
+ || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor
+ || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2015Flavor) {
if (hasCodeBlocks)
results << GeneratorInfo(k);
} else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) {
diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp
index 69e0d20cf2..eea4a0175a 100644
--- a/src/plugins/debugger/cdb/cdbengine.cpp
+++ b/src/plugins/debugger/cdb/cdbengine.cpp
@@ -761,6 +761,8 @@ static QByteArray msvcRunTime(const Abi::OSFlavor flavour)
return "MSVCR110";
case Abi::WindowsMsvc2013Flavor:
return "MSVCR120";
+ case Abi::WindowsMsvc2015Flavor:
+ return "MSVCR140";
default:
break;
}
diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp
index f00eb525f4..b604a6bec9 100644
--- a/src/plugins/projectexplorer/abi.cpp
+++ b/src/plugins/projectexplorer/abi.cpp
@@ -168,6 +168,9 @@ static QList<Abi> parseCoffHeader(const QByteArray &data)
case 12:
flavor = Abi::WindowsMsvc2013Flavor;
break;
+ case 14:
+ flavor = Abi::WindowsMsvc2015Flavor;
+ break;
default: // Keep unknown flavor
if (minorLinker != 0)
flavor = Abi::WindowsMSysFlavor; // MSVC seems to avoid using minor numbers
@@ -414,6 +417,8 @@ Abi::Abi(const QString &abiString) :
m_osFlavor = WindowsMsvc2012Flavor;
else if (abiParts.at(2) == QLatin1String("msvc2013") && m_os == WindowsOS)
m_osFlavor = WindowsMsvc2013Flavor;
+ else if (abiParts.at(2) == QLatin1String("msvc2015") && m_os == WindowsOS)
+ m_osFlavor = WindowsMsvc2015Flavor;
else if (abiParts.at(2) == QLatin1String("msys") && m_os == WindowsOS)
m_osFlavor = WindowsMSysFlavor;
else if (abiParts.at(2) == QLatin1String("ce") && m_os == WindowsOS)
@@ -674,6 +679,8 @@ QString Abi::toString(const OSFlavor &of)
return QLatin1String("msvc2012");
case Abi::WindowsMsvc2013Flavor:
return QLatin1String("msvc2013");
+ case Abi::WindowsMsvc2015Flavor:
+ return QLatin1String("msvc2015");
case Abi::WindowsMSysFlavor:
return QLatin1String("msys");
case Abi::WindowsCEFlavor:
@@ -724,8 +731,8 @@ QList<Abi::OSFlavor> Abi::flavorsForOs(const Abi::OS &o)
return result << GenericUnixFlavor << SolarisUnixFlavor << UnknownFlavor;
case WindowsOS:
return result << WindowsMsvc2005Flavor << WindowsMsvc2008Flavor << WindowsMsvc2010Flavor
- << WindowsMsvc2012Flavor << WindowsMsvc2013Flavor << WindowsMSysFlavor
- << WindowsCEFlavor << UnknownFlavor;
+ << WindowsMsvc2012Flavor << WindowsMsvc2013Flavor << WindowsMsvc2015Flavor
+ << WindowsMSysFlavor << WindowsCEFlavor << UnknownFlavor;
case VxWorks:
return result << VxWorksFlavor << UnknownFlavor;
case UnknownOS:
diff --git a/src/plugins/projectexplorer/abi.h b/src/plugins/projectexplorer/abi.h
index 4f6fbd81b7..c0ebe5f9f7 100644
--- a/src/plugins/projectexplorer/abi.h
+++ b/src/plugins/projectexplorer/abi.h
@@ -90,6 +90,7 @@ public:
WindowsMsvc2010Flavor,
WindowsMsvc2012Flavor,
WindowsMsvc2013Flavor,
+ WindowsMsvc2015Flavor,
WindowsMSysFlavor,
WindowsCEFlavor,
diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
index 2b8cb72c58..fcdc9dd78b 100644
--- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
+++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
@@ -101,7 +101,8 @@ ToolChain::CompilerFlags AbstractMsvcToolChain::compilerFlags(const QStringList
if (m_abi.osFlavor() == Abi::WindowsMsvc2010Flavor
|| m_abi.osFlavor() == Abi::WindowsMsvc2012Flavor
- || m_abi.osFlavor() == Abi::WindowsMsvc2013Flavor)
+ || m_abi.osFlavor() == Abi::WindowsMsvc2013Flavor
+ || m_abi.osFlavor() == Abi::WindowsMsvc2015Flavor)
flags |= StandardCxx11;
return flags;
diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp
index 8a03541712..881a7dc9a5 100644
--- a/src/plugins/projectexplorer/msvctoolchain.cpp
+++ b/src/plugins/projectexplorer/msvctoolchain.cpp
@@ -135,7 +135,9 @@ static Abi findAbiOfMsvc(MsvcToolChain::Type type, MsvcToolChain::Platform platf
else if (version == QLatin1String("v7.0A") || version == QLatin1String("v7.1"))
msvcVersionString = QLatin1String("10.0");
}
- if (msvcVersionString.startsWith(QLatin1String("12.")))
+ if (msvcVersionString.startsWith(QLatin1String("14.")))
+ flavor = Abi::WindowsMsvc2015Flavor;
+ else if (msvcVersionString.startsWith(QLatin1String("12.")))
flavor = Abi::WindowsMsvc2013Flavor;
else if (msvcVersionString.startsWith(QLatin1String("11.")))
flavor = Abi::WindowsMsvc2012Flavor;
@@ -404,6 +406,14 @@ QList<Utils::FileName> MsvcToolChain::suggestedMkspecList() const
<< Utils::FileName::fromLatin1("winrt-x64-msvc2013")
<< Utils::FileName::fromLatin1("win32-msvc2012")
<< Utils::FileName::fromLatin1("win32-msvc2010");
+ case Abi::WindowsMsvc2015Flavor:
+ return QList<Utils::FileName>()
+ << Utils::FileName::fromLatin1("win32-msvc2015")
+ << Utils::FileName::fromLatin1("winphone-arm-msvc2015")
+ << Utils::FileName::fromLatin1("winphone-x86-msvc2015")
+ << Utils::FileName::fromLatin1("winrt-arm-msvc2015")
+ << Utils::FileName::fromLatin1("winrt-x86-msvc2015")
+ << Utils::FileName::fromLatin1("winrt-x64-msvc2015");
default:
break;
}
diff --git a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
index 9fb3877e21..1dbf06fa55 100644
--- a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
+++ b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
@@ -257,7 +257,8 @@ QVariantMap DefaultPropertyProvider::autoGeneratedProperties(const ProjectExplor
if (!m.isEmpty())
data.insert(QLatin1String(CPP_COMPILERPATHBYLANGUAGE), m);
- if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2013Flavor) {
+ 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);