qt5base-lts/mkspecs
Giuseppe D'Angelo 8780fbb2eb Build Qt (and client apps using it) with /permissive-
*Not* using /permissive- exposes Qt and client apps to interesting
bugs and/or build failures, (e.g. QTBUG-87225, or
19b5520abf). We demand strict
conformance by any other compiler, it's time to demand it from
MSVC too.

The Windows headers themselves are clean starting from the
Windows Fall Creators SDK (10.0.16299.0), and moreover Qt 6 will
drop WinRT; therefore, the comment in the mkspecs does not apply
any more.

Since /permissive- implies /Zc:referenceBinding, drop that
option. The other implied options are set on MSVC < 2017,
but I leave them in to avoid tinkering with the fragile lists
of C/C++ flags.

Rename the CMake internal helper function to better describe
what it does.

Fixes: QTBUG-85633
Fixes: QTBUG-85637
Fixes: QTBUG-85635
Fixes: QTBUG-88244
Change-Id: Ie03fddb61aa066fdc14b7231c22e7108b4a02fbb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-11-10 20:01:49 +01:00
..
aix-g++ Updated license headers 2016-01-15 12:25:24 +00:00
aix-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
android-clang Qmake: Share QMAKE_LINK_OBJECT_SCRIPT definition 2020-07-06 16:44:11 +03:00
common Build Qt (and client apps using it) with /permissive- 2020-11-10 20:01:49 +01:00
cygwin-g++ Updated license headers 2016-01-15 12:25:24 +00:00
darwin-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
devices Add ; to Q_UNUSED 2020-07-07 11:51:48 +02:00
dummy move all target spec handling to qmake-based configure system 2016-12-13 18:56:34 +00:00
features resources_function.prf: Discard external path prefixes 2020-11-10 16:55:07 +01:00
freebsd-clang make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
freebsd-g++ make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
haiku-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
hpuxi-g++-64 Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
hurd-g++ Add <features.h> include to hurd-g++ mkspec 2019-02-14 14:24:56 +00:00
integrity-armv7 integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
integrity-armv7-imx6 integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
integrity-armv8-rcar integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
integrity-x86 integrity: don't mess with QTPLUGIN.platforms 2018-11-21 23:08:10 +00:00
linux-aarch64-gnu-g++ Add new mkspec for cross-compiling Qt5 for AArch64 2017-03-31 00:34:48 +00:00
linux-arm-gnueabi-g++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-clang Remove checks for glibc < 2 from qplatformdefs.h files 2020-04-23 06:41:32 +02:00
linux-clang-32 add mkspecs for linux clang 32 2018-08-31 05:34:46 +00:00
linux-clang-libc++ Updated license headers 2016-01-15 12:25:24 +00:00
linux-clang-libc++-32 add mkspecs for linux clang 32 2018-08-31 05:34:46 +00:00
linux-g++ Remove checks for glibc < 2 from qplatformdefs.h files 2020-04-23 06:41:32 +02:00
linux-g++-32 Updated license headers 2016-01-15 12:25:24 +00:00
linux-g++-64 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc qmake: Stop using -isystem flag 2020-06-06 09:53:59 +00:00
linux-icc-32 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc-64 Updated license headers 2016-01-15 12:25:24 +00:00
linux-icc-k1om linux-icc-k1om build 2017-02-21 14:27:16 +00:00
linux-llvm Remove checks for glibc < 2 from qplatformdefs.h files 2020-04-23 06:41:32 +02:00
linux-lsb-g++ Remove checks for glibc < 2 from qplatformdefs.h files 2020-04-23 06:41:32 +02:00
lynxos-g++ Remove checks for glibc < 2 from qplatformdefs.h files 2020-04-23 06:41:32 +02:00
macx-clang Remove -qt-xcb, -system-xcb from README and comments 2020-05-19 06:42:35 +00:00
macx-g++ Remove CFBundleGetInfoString from Info.plist templates 2019-10-04 13:09:34 +00:00
macx-icc Remove CFBundleGetInfoString from Info.plist templates 2019-10-04 13:09:34 +00:00
macx-ios-clang iOS: Add a variable to customize where the launch image is taken from 2020-07-22 00:42:36 +02:00
macx-tvos-clang Update supported platforms and build requirements for Apple platforms 2019-11-05 19:49:14 +01:00
macx-watchos-clang Update supported platforms and build requirements for Apple platforms 2019-11-05 19:49:14 +01:00
macx-xcode Xcode: Disable GPU frame capture and Metal API validation by default 2019-12-18 19:16:09 +01:00
modules Adjust wiki links to the new redirect 2015-03-04 15:36:12 +00:00
netbsd-g++ make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
openbsd-g++ make mkspecs not mess up library and include search paths 2017-05-31 12:57:09 +00:00
qnx-aarch64le-qcc Enable stack-protector-strong for QNX 7.0.0 2017-06-13 14:01:24 +00:00
qnx-armle-v7-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
qnx-x86-64-qcc Enable stack-protector-strong for QNX 7.0.0 2017-06-13 14:01:24 +00:00
qnx-x86-qcc Convert the old feature system 2016-09-15 08:24:10 +00:00
solaris-cc Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
solaris-cc-64 Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
solaris-cc-64-stlport Updated license headers 2016-01-15 12:25:24 +00:00
solaris-cc-stlport Updated license headers 2016-01-15 12:25:24 +00:00
solaris-g++ Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
solaris-g++-64 Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
unsupported Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
wasm-emscripten wasm: add more debugging information 2020-05-29 11:56:36 +10:00
win32-arm64-msvc rename win32-arm64-msvc2017 to win32-arm64-msvc 2020-10-09 08:06:29 +02:00
win32-clang-g++ Clang: use -Oz instead of -O1 to optimize for size 2019-03-21 23:46:32 +00:00
win32-clang-msvc QRandom: add support for RDSEED 2019-10-09 07:31:28 -07:00
win32-g++ qmake: Do not pass -mthreads to Clang 2020-08-28 12:58:04 +03:00
win32-icc Add new AVX512 extensions found in Intel CLX, ICL and ICX processors 2020-02-03 11:31:49 -07:00
win32-icc-k1om linux-icc-k1om build 2017-02-21 14:27:16 +00:00
win32-msvc unify windows mkspecs: define c++ flags explicitly 2018-02-22 18:45:15 +00:00