summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYuchen Deng <loaden@gmail.com>2013-10-20 23:44:52 +0800
committerTobias Hunger <tobias.hunger@digia.com>2013-10-21 12:00:29 +0200
commit67a7eba6faf7fdd4f1007dba5ad7cceb0785ae51 (patch)
tree1dfc3ba5afa964a7b32d228c3ce0f6429c74f4db /src
parent18cba4fcf92a687237ecd5f737f5c61771f9358e (diff)
downloadqt-creator-67a7eba6faf7fdd4f1007dba5ad7cceb0785ae51.tar.gz
Add MSVC2013 support
Change-Id: I956b5796a67792f826ddc72e7681609372a9c029 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/projectexplorer/abi.cpp14
-rw-r--r--src/plugins/projectexplorer/abi.h1
-rw-r--r--src/plugins/projectexplorer/abstractmsvctoolchain.cpp3
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.cpp10
4 files changed, 24 insertions, 4 deletions
diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp
index 83705825cc..2ce26a195d 100644
--- a/src/plugins/projectexplorer/abi.cpp
+++ b/src/plugins/projectexplorer/abi.cpp
@@ -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;
diff --git a/src/plugins/projectexplorer/abi.h b/src/plugins/projectexplorer/abi.h
index a805a1be04..473918b918 100644
--- a/src/plugins/projectexplorer/abi.h
+++ b/src/plugins/projectexplorer/abi.h
@@ -88,6 +88,7 @@ public:
WindowsMsvc2008Flavor,
WindowsMsvc2010Flavor,
WindowsMsvc2012Flavor,
+ WindowsMsvc2013Flavor,
WindowsMSysFlavor,
WindowsCEFlavor,
diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
index cf20d23f1b..15ad063896 100644
--- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
+++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
@@ -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;
diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp
index e3544f7949..cb0f7f6686 100644
--- a/src/plugins/projectexplorer/msvctoolchain.cpp
+++ b/src/plugins/projectexplorer/msvctoolchain.cpp
@@ -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;
}