From ec2faefbc248b733b4382aadf0cbbfe5c0cc3e19 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Mon, 10 Jul 2023 09:26:27 +0200 Subject: [PATCH] Explain why we can't use -Za in MSVC headersclean check Bring back & update comment on -Za, which was removed in 8bf60251 (in turn reverted in commit 2dcc3059). For the details on -Za vs -permissive, see https://devblogs.microsoft.com/cppblog/permissive-switch/: and the official Microsoft documentation. This amends 2dcc30592bccd2e6990b25b89490f3c1fe293d78. Change-Id: Ibeb135218dd0a17eddf821ad79246906993c586f Reviewed-by: Alexandru Croitor Reviewed-by: Thiago Macieira --- cmake/QtHeadersClean.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/QtHeadersClean.cmake b/cmake/QtHeadersClean.cmake index 58c471b1d23..955f325e3f9 100644 --- a/cmake/QtHeadersClean.cmake +++ b/cmake/QtHeadersClean.cmake @@ -183,6 +183,9 @@ function(qt_internal_add_headersclean_target module_target module_headers) ) set(input_header_path_type ABSOLUTE) elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + # Note we can't enable -Za, as it does not support certain key Microsoft SDK header files + # we use. Microsoft suggests to use /permissive- instead, which is implicity set by + # -std:c++latest. set(hcleanFLAGS -std:c++latest -Zc:__cplusplus -WX -W3 -EHsc) # Because we now add `-DNOMINMAX` to `PlatformCommonInternal`.