qt5base-lts/mkspecs/common
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 Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
android Remove checks for glibc < 2 from qplatformdefs.h files 2020-04-23 06:41:32 +02:00
bsd Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
c89 Updated license headers 2016-01-15 12:25:24 +00:00
integrity Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
mac Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
nacl Updated license headers 2016-01-15 12:25:24 +00:00
posix Add QIODevice::NewOnly and QIODevice::ExistingOnly OpenMode flags 2018-01-17 04:32:47 +00:00
qnx Stop including net/if.h from qplatformdefs.h 2017-10-08 06:41:24 +00:00
rtems rtems: Fix missing some ernno defines 2019-07-01 02:04:19 +02:00
uikit Merge remote-tracking branch 'origin/5.8' into dev 2016-10-13 09:49:38 +02:00
clang-mac.conf Fix LTCG linker flags for macOS with separate debug info 2019-11-08 17:00:17 +01:00
clang.conf qmake: Stop using -isystem flag 2020-06-06 09:53:59 +00:00
g++-base.conf Fix cross-compilation to Linux 2019-11-04 08:28:20 +00:00
g++-macx.conf Remove the -load_all option from the linker enabling static builds 2015-01-07 09:57:07 +01:00
g++-unix.conf Fix '=' alignment and replace tabs in *.conf (whitespace only change) 2013-03-27 17:16:37 +01:00
g++-win32.conf Generalize the winmain/qtmain entry-point library 2020-10-17 12:13:00 +02:00
g++.conf Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
gcc-base-mac.conf MinGW: reuse gcc-base.conf and g++-base.conf 2016-11-29 16:23:58 +00:00
gcc-base-unix.conf Add llvm linker detection to configure 2019-02-06 22:11:22 +00:00
gcc-base.conf Qmake: Share QMAKE_LINK_OBJECT_SCRIPT definition 2020-07-06 16:44:11 +03:00
ghs-base.conf Remove QMAKE_LIBS_CORE variable 2017-08-28 13:10:38 +00:00
ghs-integrity-armv7.conf Add -bigswitch on INTEGRITY 2017-04-03 08:08:46 +00:00
ghs-integrity-armv8.conf Add option to select build target for Integrity 2020-04-20 19:34:27 +03:00
ghs-integrity-x86.conf Add support for building for INTEGRITY using GHS toolchain. 2016-03-21 16:49:54 +00:00
icc-base-unix.conf Merge remote-tracking branch 'origin/5.15' into dev 2020-02-13 18:31:40 +01:00
ios.conf Add support for Apple tvOS 2016-05-17 16:11:23 +00:00
linux.conf Merge remote-tracking branch 'origin/5.9' into dev 2017-08-31 14:31:31 +02:00
llvm.conf Refer to Apple products by their actual names. 2013-07-10 17:32:48 +02:00
mac.conf Revert "configure: actually resolve libraries into full filepaths" 2019-09-13 10:47:38 +02:00
macx.conf Limit OpenGL deprecation silencing on Apple platform to Qt itself 2020-07-02 10:27:58 +02:00
msvc-based-version.conf Detect Visual C++ 2019 mode in clang_cl / intel_icl 2020-03-25 19:07:04 +00:00
msvc-desktop.conf Generalize the winmain/qtmain entry-point library 2020-10-17 12:13:00 +02:00
msvc-version.conf Build Qt (and client apps using it) with /permissive- 2020-11-10 20:01:49 +01:00
qcc-base-qnx-aarch64le.conf Add some 64-bit QNX platforms 2016-06-22 14:59:26 +00:00
qcc-base-qnx-armle-v7.conf move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
qcc-base-qnx-x86-64.conf Add some 64-bit QNX platforms 2016-06-22 14:59:26 +00:00
qcc-base-qnx-x86.conf move inclusions of unix.conf (and related files) near the top 2015-10-01 16:19:27 +00:00
qcc-base-qnx.conf Use C++17 for qmake and force the build of everything with C++17 2020-02-08 09:49:07 +01:00
qcc-base.conf Merge remote-tracking branch 'origin/5.9' into dev 2017-06-19 16:12:34 +02:00
rtems-base.conf rtems: add mkspecs for new operation system RTEMS 2019-05-06 06:56:33 +00:00
sanitize.conf configure: Explicitly enable float-divide-by-zero with ubsan 2020-08-07 01:21:07 +02:00
shell-unix.conf centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
shell-win32.conf centralize setup of shell-related variables in spec_post.prf 2015-03-06 19:08:40 +00:00
solaris.conf Fix solaris build 2020-05-05 15:34:16 +02:00
tvos.conf qmake: enable bitcode also for iOS 2016-08-19 21:06:05 +00:00
uikit.conf Limit OpenGL deprecation silencing on Apple platform to Qt itself 2020-07-02 10:27:58 +02:00
unix.conf unify handling of library prefixes and extensions 2015-10-01 16:19:30 +00:00
watchos.conf qmake: enable bitcode also for iOS 2016-08-19 21:06:05 +00:00
windows-desktop.conf Enable users to specify WindowsTargetPlatform[Min]Version in VS projects 2018-11-16 10:55:16 +00:00
windows-vulkan.conf Resolve QMAKE_INCDIR_VULKAN on every qmake call 2019-05-05 13:15:37 +00:00