diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2015-07-08 14:09:10 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2015-07-17 17:36:27 +0000 |
commit | ff4444065158285b573c6fc0a91c9e75fc7ddd96 (patch) | |
tree | b65d2244895a8f873997551ea8079ac4276ca12e /mkspecs/features/c++11.prf | |
parent | 85ff35126623e6f26c84d9fa8a35b6762aefb110 (diff) |
Make CONFIG += c++11 by default not disable GNU extensions
Prefer -std=gnu++11 unless strict_c++11 is defined. You can enable
strict C++11/C++14 mode by using
CONFIG += strict_c++
That is enabled for Qt's own code, so we we don't accidentally use GNU
extensions in portable code.
There's no support for strict C++98 mode (that is, the -ansi option).
[ChangeLog][qmake] By default, GNU extensions are now enabled with
Clang, GCC and ICC even in C++11 and C++14 modes. To disable the GNU
extensions, add to your .pro file: CONFIG += strict_c++.
Change-Id: Ib056b47dde3341ef9a52ffff13ef14de2169bef5
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Diffstat (limited to 'mkspecs/features/c++11.prf')
-rw-r--r-- | mkspecs/features/c++11.prf | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/mkspecs/features/c++11.prf b/mkspecs/features/c++11.prf index 32eaca4a9b..3f31f8ea82 100644 --- a/mkspecs/features/c++11.prf +++ b/mkspecs/features/c++11.prf @@ -1,6 +1,12 @@ -QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_CXX11 -QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CXXFLAGS_CXX11 -QMAKE_LFLAGS += $$QMAKE_LFLAGS_CXX11 +strict_c++|isEmpty(QMAKE_CXXFLAGS_GNUCXX11) { + QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_CXX11 + QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CXXFLAGS_CXX11 + QMAKE_LFLAGS += $$QMAKE_LFLAGS_CXX11 +} else { + QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_GNUCXX11 + QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CXXFLAGS_GNUCXX11 + QMAKE_LFLAGS += $$QMAKE_LFLAGS_GNUCXX11 +} contains(QMAKE_LFLAGS, -stdlib=libc++) { equals(QMAKE_MACOSX_DEPLOYMENT_TARGET, 10.6): \ |