Commit 67a7eba6 authored by Yuchen Deng's avatar Yuchen Deng Committed by Tobias Hunger

Add MSVC2013 support

Change-Id: I956b5796a67792f826ddc72e7681609372a9c029
Reviewed-by: default avatarTobias Hunger <tobias.hunger@digia.com>
parent 18cba4fc
......@@ -162,6 +162,9 @@ static QList<Abi> parseCoffHeader(const QByteArray &data)
case 11:
flavor = Abi::WindowsMsvc2012Flavor;
break;
case 12:
flavor = Abi::WindowsMsvc2013Flavor;
break;
default: // Keep unknown flavor
if (minorLinker != 0)
flavor = Abi::WindowsMSysFlavor; // MSVC seems to avoid using minor numbers
......@@ -402,6 +405,8 @@ Abi::Abi(const QString &abiString) :
m_osFlavor = WindowsMsvc2010Flavor;
else if (abiParts.at(2) == QLatin1String("msvc2012") && m_os == WindowsOS)
m_osFlavor = WindowsMsvc2012Flavor;
else if (abiParts.at(2) == QLatin1String("msvc2013") && m_os == WindowsOS)
m_osFlavor = WindowsMsvc2013Flavor;
else if (abiParts.at(2) == QLatin1String("msys") && m_os == WindowsOS)
m_osFlavor = WindowsMSysFlavor;
else if (abiParts.at(2) == QLatin1String("ce") && m_os == WindowsOS)
......@@ -650,6 +655,8 @@ QString Abi::toString(const OSFlavor &of)
return QLatin1String("msvc2010");
case ProjectExplorer::Abi::WindowsMsvc2012Flavor:
return QLatin1String("msvc2012");
case ProjectExplorer::Abi::WindowsMsvc2013Flavor:
return QLatin1String("msvc2013");
case ProjectExplorer::Abi::WindowsMSysFlavor:
return QLatin1String("msys");
case ProjectExplorer::Abi::WindowsCEFlavor:
......@@ -699,7 +706,8 @@ QList<Abi::OSFlavor> Abi::flavorsForOs(const Abi::OS &o)
return result << GenericUnixFlavor << SolarisUnixFlavor << UnknownFlavor;
case WindowsOS:
return result << WindowsMsvc2005Flavor << WindowsMsvc2008Flavor << WindowsMsvc2010Flavor
<< WindowsMsvc2012Flavor << WindowsMSysFlavor << WindowsCEFlavor << UnknownFlavor;
<< WindowsMsvc2012Flavor << WindowsMsvc2013Flavor << WindowsMSysFlavor
<< WindowsCEFlavor << UnknownFlavor;
case UnknownOS:
return result << UnknownFlavor;
default:
......@@ -717,7 +725,9 @@ Abi Abi::hostAbi()
#if defined (Q_OS_WIN)
os = WindowsOS;
#if _MSC_VER == 1700
#if _MSC_VER == 1800
subos = WindowsMsvc2013Flavor;
#elif _MSC_VER == 1700
subos = WindowsMsvc2012Flavor;
#elif _MSC_VER == 1600
subos = WindowsMsvc2010Flavor;
......
......@@ -88,6 +88,7 @@ public:
WindowsMsvc2008Flavor,
WindowsMsvc2010Flavor,
WindowsMsvc2012Flavor,
WindowsMsvc2013Flavor,
WindowsMSysFlavor,
WindowsCEFlavor,
......
......@@ -99,7 +99,8 @@ ToolChain::CompilerFlags AbstractMsvcToolChain::compilerFlags(const QStringList
flags &= ~MicrosoftExtensions;
if (m_abi.osFlavor() == Abi::WindowsMsvc2010Flavor
|| m_abi.osFlavor() == Abi::WindowsMsvc2012Flavor)
|| m_abi.osFlavor() == Abi::WindowsMsvc2012Flavor
|| m_abi.osFlavor() == Abi::WindowsMsvc2013Flavor)
flags |= StandardCxx11;
return flags;
......
......@@ -103,7 +103,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("11.")))
if (msvcVersionString.startsWith(QLatin1String("12.")))
flavor = Abi::WindowsMsvc2013Flavor;
else if (msvcVersionString.startsWith(QLatin1String("11.")))
flavor = Abi::WindowsMsvc2012Flavor;
else if (msvcVersionString.startsWith(QLatin1String("10.")))
flavor = Abi::WindowsMsvc2010Flavor;
......@@ -359,6 +361,12 @@ QList<Utils::FileName> MsvcToolChain::suggestedMkspecList() const
<< Utils::FileName::fromString(QLatin1String("win32-msvc2012"))
<< Utils::FileName::fromString(QLatin1String("win32-msvc2010"));
break;
case ProjectExplorer::Abi::WindowsMsvc2013Flavor:
QList<Utils::FileName>()
<< Utils::FileName::fromString(QLatin1String("win32-msvc2013"))
<< Utils::FileName::fromString(QLatin1String("win32-msvc2012"))
<< Utils::FileName::fromString(QLatin1String("win32-msvc2010"));
break;
default:
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment