diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2018-05-07 22:55:09 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2018-06-11 07:43:57 +0000 |
commit | 3e201d645e1276c5168d7fef6943f95cc67d8643 (patch) | |
tree | dd281a0063a3bc022a582bcfaf7936f134581f17 /mkspecs/common/msvc-version.conf | |
parent | 427e5d61b7b33c8a4cb8da14c1e465244e53cd88 (diff) |
MSVC: Enable the detection of C++14 and 17 in MSVC 2017 15.7
We need -Zc:__cplusplus in order to enable the __cplusplus macro having
the correct value. This causes configure to now print:
Checking for C++14 support... yes
Checking for C++1z support... yes
and
Using C++ standard ..................... C++1z
Change-Id: I5d0ee9389a794d80983efffd152c95a4d9d8adbc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'mkspecs/common/msvc-version.conf')
-rw-r--r-- | mkspecs/common/msvc-version.conf | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf index ccd809abf3..3fb55c9d81 100644 --- a/mkspecs/common/msvc-version.conf +++ b/mkspecs/common/msvc-version.conf @@ -100,11 +100,16 @@ greaterThan(QMAKE_MSC_VER, 1909) { # API is used in direct2d, but also in multimedia, positioning and sensors. # We can try again with a later version of Visual Studio. # QMAKE_CXXFLAGS_STRICTCXX = -permissive- + # MSVC partially supports the following, but '__cplusplus' definition is set # as for C++98 until MSVC fully conforms with C++14, see # https://developercommunity.visualstudio.com/content/problem/139261/msvc-incorrectly-defines-cplusplus.html - # QMAKE_CXXFLAGS_CXX14 = -std:c++14 - # QMAKE_CXXFLAGS_CXX1Z = -std:c++latest + # Support became available in MSVC 2017 15.7: + greaterThan(QMAKE_MSC_VER, 1913) { + QMAKE_CXXFLAGS += -Zc:__cplusplus + QMAKE_CXXFLAGS_CXX14 = -std:c++14 + QMAKE_CXXFLAGS_CXX1Z = -std:c++17 + } } greaterThan(QMAKE_MSC_VER, 1910) { |