summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2014-06-19 15:52:49 -0700
committerThiago Macieira <thiago.macieira@intel.com>2014-12-13 05:11:25 +0100
commitce1c53b4130495b17addc45bf3f5b2a2dc052507 (patch)
tree7d964a0391a022fe99a0ee87b5547de8359f3aa7 /tools
parentc23d1c76953704ecb52c833d7ef1de2e2f89b1e6 (diff)
downloadqtbase-ce1c53b4130495b17addc45bf3f5b2a2dc052507.tar.gz
Add detection of and support for Visual Studio 2015
Tested with the Preview release of November 2014. Differences to the 2013 detection and support: - Option -Zc:strictStrings is present in both debug and release mode and is passed to qmake's own build - New warnings 4456, 4457 and 4458 (shadowing) are disabled - Compiler supports -arch:AVX2 Change-Id: I9572ff4d4aded4004c1fa5d6f13ffee5462043d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/configure/configureapp.cpp3
-rw-r--r--tools/configure/environment.cpp8
-rw-r--r--tools/configure/environment.h3
3 files changed, 12 insertions, 2 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 7ed8f8dfe3..14bc8455c7 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1379,7 +1379,8 @@ void Configure::parseCmdLine()
dictionary[ "QMAKESPEC" ].endsWith("-msvc2008") ||
dictionary[ "QMAKESPEC" ].endsWith("-msvc2010") ||
dictionary[ "QMAKESPEC" ].endsWith("-msvc2012") ||
- dictionary[ "QMAKESPEC" ].endsWith("-msvc2013")) {
+ dictionary[ "QMAKESPEC" ].endsWith("-msvc2013") ||
+ dictionary[ "QMAKESPEC" ].endsWith("-msvc2015")) {
if (dictionary[ "MAKE" ].isEmpty()) dictionary[ "MAKE" ] = "nmake";
dictionary[ "QMAKEMAKEFILE" ] = "Makefile.win32";
} else if (dictionary[ "QMAKESPEC" ] == QString("win32-g++")) {
diff --git a/tools/configure/environment.cpp b/tools/configure/environment.cpp
index 494b10e554..6eb0107098 100644
--- a/tools/configure/environment.cpp
+++ b/tools/configure/environment.cpp
@@ -78,6 +78,9 @@ struct CompilerInfo{
{CC_MSVC2012, "Microsoft (R) Visual Studio 2012 C/C++ Compiler (11.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\11.0", "cl.exe"}, // link.exe, lib.exe
{CC_MSVC2013, "Microsoft (R) Visual Studio 2013 C/C++ Compiler (12.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\12.0", "cl.exe"}, // link.exe, lib.exe
{CC_MSVC2013, "Microsoft (R) Visual Studio 2013 C/C++ Compiler (12.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\12.0", "cl.exe"}, // link.exe, lib.exe
+ // Microsoft skipped version 13
+ {CC_MSVC2015, "Microsoft (R) Visual Studio 2015 C/C++ Compiler (14.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VS7\\14.0", "cl.exe"}, // link.exe, lib.exe
+ {CC_MSVC2015, "Microsoft (R) Visual Studio 2015 C/C++ Compiler (14.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VS7\\14.0", "cl.exe"}, // link.exe, lib.exe
{CC_UNKNOWN, "Unknown", 0, 0},
};
@@ -103,6 +106,9 @@ QString Environment::detectQMakeSpec()
{
QString spec;
switch (detectCompiler()) {
+ case CC_MSVC2015:
+ spec = "win32-msvc2015";
+ break;
case CC_MSVC2013:
spec = "win32-msvc2013";
break;
@@ -136,6 +142,8 @@ QString Environment::detectQMakeSpec()
Compiler Environment::compilerFromQMakeSpec(const QString &qmakeSpec)
{
+ if (qmakeSpec == QLatin1String("win32-msvc2015"))
+ return CC_MSVC2015;
if (qmakeSpec == QLatin1String("win32-msvc2013"))
return CC_MSVC2013;
if (qmakeSpec == QLatin1String("win32-msvc2012"))
diff --git a/tools/configure/environment.h b/tools/configure/environment.h
index 446f5212f7..8d2aed13f1 100644
--- a/tools/configure/environment.h
+++ b/tools/configure/environment.h
@@ -45,7 +45,8 @@ enum Compiler {
CC_MSVC2008 = 0x90,
CC_MSVC2010 = 0xA0,
CC_MSVC2012 = 0xB0,
- CC_MSVC2013 = 0xC0
+ CC_MSVC2013 = 0xC0,
+ CC_MSVC2015 = 0xD0
};
struct CompilerInfo;