diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/configure/configureapp.cpp | 20 | ||||
-rw-r--r-- | tools/configure/environment.cpp | 55 | ||||
-rw-r--r-- | tools/configure/environment.h | 12 |
3 files changed, 47 insertions, 40 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 2bd94c199e..1b48e0f21e 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++")) { @@ -2101,7 +2102,7 @@ bool Configure::checkAngleAvailability(QString *errorMessage /* = 0 */) const // it is also present in MinGW. const QString directXSdk = Environment::detectDirectXSdk(); const Compiler compiler = Environment::compilerFromQMakeSpec(dictionary[QStringLiteral("QMAKESPEC")]); - if (compiler < CC_NET2012 && directXSdk.isEmpty()) { + if (compiler < CC_MSVC2012 && directXSdk.isEmpty()) { if (errorMessage) *errorMessage = QStringLiteral("There is no Direct X SDK installed or the environment variable \"DXSDK_DIR\" is not set."); return false; @@ -3306,13 +3307,9 @@ void Configure::generateQDevicePri() deviceStream << entry << "\n"; } if (dictionary.contains("ANDROID_SDK_ROOT") && dictionary.contains("ANDROID_NDK_ROOT")) { - QString android_platform(dictionary.contains("ANDROID_PLATFORM") - ? dictionary["ANDROID_PLATFORM"] - : QString("android-9")); deviceStream << "android_install {" << endl; deviceStream << " DEFAULT_ANDROID_SDK_ROOT = " << formatPath(dictionary["ANDROID_SDK_ROOT"]) << endl; deviceStream << " DEFAULT_ANDROID_NDK_ROOT = " << formatPath(dictionary["ANDROID_NDK_ROOT"]) << endl; - deviceStream << " DEFAULT_ANDROID_PLATFORM = " << android_platform << endl; if (QSysInfo::WordSize == 64) deviceStream << " DEFAULT_ANDROID_NDK_HOST = windows-x86_64" << endl; else @@ -3322,7 +3319,16 @@ void Configure::generateQDevicePri() : QString("armeabi-v7a")); QString android_tc_vers(dictionary.contains("ANDROID_NDK_TOOLCHAIN_VERSION") ? dictionary["ANDROID_NDK_TOOLCHAIN_VERSION"] - : QString("4.8")); + : QString("4.9")); + + bool targetIs64Bit = android_arch == QString("arm64-v8a") + || android_arch == QString("x86_64") + || android_arch == QString("mips64"); + QString android_platform(dictionary.contains("ANDROID_PLATFORM") + ? dictionary["ANDROID_PLATFORM"] + : (targetIs64Bit ? QString("android-21") : QString("android-9"))); + + deviceStream << " DEFAULT_ANDROID_PLATFORM = " << android_platform << endl; deviceStream << " DEFAULT_ANDROID_TARGET_ARCH = " << android_arch << endl; deviceStream << " DEFAULT_ANDROID_NDK_TOOLCHAIN_VERSION = " << android_tc_vers << endl; deviceStream << "}" << endl; diff --git a/tools/configure/environment.cpp b/tools/configure/environment.cpp index 1ef8c10775..6eb0107098 100644 --- a/tools/configure/environment.cpp +++ b/tools/configure/environment.cpp @@ -68,18 +68,19 @@ struct CompilerInfo{ {CC_BORLAND, "Borland C++", 0, "bcc32.exe"}, {CC_MINGW, "MinGW (Minimalist GNU for Windows)", 0, "g++.exe"}, {CC_INTEL, "Intel(R) C++ Compiler for 32-bit applications", 0, "icl.exe"}, // xilink.exe, xilink5.exe, xilink6.exe, xilib.exe - {CC_NET2003, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2003 (7.1)", "Software\\Microsoft\\VisualStudio\\7.1\\Setup\\VC\\ProductDir", "cl.exe"}, // link.exe, lib.exe - {CC_NET2003, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2003 (7.1)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\7.1\\Setup\\VC\\ProductDir", "cl.exe"}, // link.exe, lib.exe - {CC_NET2005, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2005 (8.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\8.0", "cl.exe"}, // link.exe, lib.exe - {CC_NET2005, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2005 (8.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\8.0", "cl.exe"}, // link.exe, lib.exe - {CC_NET2008, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2008 (9.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\9.0", "cl.exe"}, // link.exe, lib.exe - {CC_NET2008, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2008 (9.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\9.0", "cl.exe"}, // link.exe, lib.exe - {CC_NET2010, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2010 (10.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\10.0", "cl.exe"}, // link.exe, lib.exe - {CC_NET2010, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2010 (10.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\10.0", "cl.exe"}, // link.exe, lib.exe - {CC_NET2012, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2012 (11.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\11.0", "cl.exe"}, // link.exe, lib.exe - {CC_NET2012, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2012 (11.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\11.0", "cl.exe"}, // link.exe, lib.exe - {CC_NET2013, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2013 (12.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\12.0", "cl.exe"}, // link.exe, lib.exe - {CC_NET2013, "Microsoft (R) 32-bit C/C++ Optimizing Compiler.NET 2013 (12.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\12.0", "cl.exe"}, // link.exe, lib.exe + {CC_MSVC2005, "Microsoft (R) Visual Studio 2005 C/C++ Compiler (8.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\8.0", "cl.exe"}, // link.exe, lib.exe + {CC_MSVC2005, "Microsoft (R) Visual Studio 2005 C/C++ Compiler (8.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\8.0", "cl.exe"}, // link.exe, lib.exe + {CC_MSVC2008, "Microsoft (R) Visual Studio 2008 C/C++ Compiler (9.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\9.0", "cl.exe"}, // link.exe, lib.exe + {CC_MSVC2008, "Microsoft (R) Visual Studio 2008 C/C++ Compiler (9.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\9.0", "cl.exe"}, // link.exe, lib.exe + {CC_MSVC2010, "Microsoft (R) Visual Studio 2010 C/C++ Compiler (10.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\10.0", "cl.exe"}, // link.exe, lib.exe + {CC_MSVC2010, "Microsoft (R) Visual Studio 2010 C/C++ Compiler (10.0)", "Software\\Wow6432Node\\Microsoft\\VisualStudio\\SxS\\VC7\\10.0", "cl.exe"}, // link.exe, lib.exe + {CC_MSVC2012, "Microsoft (R) Visual Studio 2012 C/C++ Compiler (11.0)", "Software\\Microsoft\\VisualStudio\\SxS\\VC7\\11.0", "cl.exe"}, // link.exe, lib.exe + {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}, }; @@ -105,24 +106,24 @@ QString Environment::detectQMakeSpec() { QString spec; switch (detectCompiler()) { - case CC_NET2013: + case CC_MSVC2015: + spec = "win32-msvc2015"; + break; + case CC_MSVC2013: spec = "win32-msvc2013"; break; - case CC_NET2012: + case CC_MSVC2012: spec = "win32-msvc2012"; break; - case CC_NET2010: + case CC_MSVC2010: spec = "win32-msvc2010"; break; - case CC_NET2008: + case CC_MSVC2008: spec = "win32-msvc2008"; break; - case CC_NET2005: + case CC_MSVC2005: spec = "win32-msvc2005"; break; - case CC_NET2003: - spec = "win32-msvc2003"; - break; case CC_INTEL: spec = "win32-icc"; break; @@ -141,18 +142,18 @@ QString Environment::detectQMakeSpec() Compiler Environment::compilerFromQMakeSpec(const QString &qmakeSpec) { + if (qmakeSpec == QLatin1String("win32-msvc2015")) + return CC_MSVC2015; if (qmakeSpec == QLatin1String("win32-msvc2013")) - return CC_NET2013; + return CC_MSVC2013; if (qmakeSpec == QLatin1String("win32-msvc2012")) - return CC_NET2012; + return CC_MSVC2012; if (qmakeSpec == QLatin1String("win32-msvc2010")) - return CC_NET2010; + return CC_MSVC2010; if (qmakeSpec == QLatin1String("win32-msvc2008")) - return CC_NET2008; + return CC_MSVC2008; if (qmakeSpec == QLatin1String("win32-msvc2005")) - return CC_NET2005; - if (qmakeSpec == QLatin1String("win32-msvc2003")) - return CC_NET2003; + return CC_MSVC2005; if (qmakeSpec == QLatin1String("win32-icc")) return CC_INTEL; if (qmakeSpec == QLatin1String("win32-g++")) diff --git a/tools/configure/environment.h b/tools/configure/environment.h index 1a4fbb2fcc..8d2aed13f1 100644 --- a/tools/configure/environment.h +++ b/tools/configure/environment.h @@ -41,12 +41,12 @@ enum Compiler { CC_BORLAND = 0x01, CC_MINGW = 0x02, CC_INTEL = 0x03, - CC_NET2003 = 0x71, - CC_NET2005 = 0x80, - CC_NET2008 = 0x90, - CC_NET2010 = 0xA0, - CC_NET2012 = 0xB0, - CC_NET2013 = 0xC0 + CC_MSVC2005 = 0x80, + CC_MSVC2008 = 0x90, + CC_MSVC2010 = 0xA0, + CC_MSVC2012 = 0xB0, + CC_MSVC2013 = 0xC0, + CC_MSVC2015 = 0xD0 }; struct CompilerInfo; |