diff options
author | Brad King <brad.king@kitware.com> | 2022-06-09 16:11:49 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2022-06-09 16:24:33 (GMT) |
commit | 7d73e88d3a7490cf1047369da8292a57c0b60bce (patch) | |
tree | c2d19d741e502df1f4bf064b28037287085cd35d /Modules/Platform | |
parent | 84da420a29155e206cef48fc7b05bf818539feb6 (diff) | |
download | CMake-7d73e88d3a7490cf1047369da8292a57c0b60bce.zip CMake-7d73e88d3a7490cf1047369da8292a57c0b60bce.tar.gz CMake-7d73e88d3a7490cf1047369da8292a57c0b60bce.tar.bz2 |
MSVC: Revert "Default to -ZI instead of /Zi for x86 and x64"
Revert commit 5fcadc481e (MSVC: Default to -ZI instead of /Zi for x86
and x64, 2022-05-24). The `-ZI` flag is incompatible with the `-GL`
flag used for IPO, and so is not an unconditionally better default.
Revert the change pending future design of a first-class setting for
MSVC debug info format that can be automatically reconciled with IPO
settings.
That commit introduced policy CMP0138, but we already have later policy
numbers used too. Leave placeholder text to avoid policy renumbering.
Issue: #23607, #10189
Diffstat (limited to 'Modules/Platform')
-rw-r--r-- | Modules/Platform/Windows-MSVC-C.cmake | 9 | ||||
-rw-r--r-- | Modules/Platform/Windows-MSVC-CXX.cmake | 9 | ||||
-rw-r--r-- | Modules/Platform/Windows-MSVC.cmake | 9 |
3 files changed, 2 insertions, 25 deletions
diff --git a/Modules/Platform/Windows-MSVC-C.cmake b/Modules/Platform/Windows-MSVC-C.cmake index 7dfc033..67b6827 100644 --- a/Modules/Platform/Windows-MSVC-C.cmake +++ b/Modules/Platform/Windows-MSVC-C.cmake @@ -2,15 +2,6 @@ include(Platform/Windows-MSVC) if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0) set(_FS_C " /FS") endif() - -cmake_policy(GET CMP0138 _cmp0138) -if(_cmp0138 STREQUAL "NEW") - if(NOT _MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM" AND NOT _MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM64") - set(_ZiOrZI "-ZI") - endif() -endif() -unset(_cmp0138) - __windows_compiler_msvc(C) if((NOT DEFINED CMAKE_DEPENDS_USE_COMPILER OR CMAKE_DEPENDS_USE_COMPILER) diff --git a/Modules/Platform/Windows-MSVC-CXX.cmake b/Modules/Platform/Windows-MSVC-CXX.cmake index ba9a260..6fea617 100644 --- a/Modules/Platform/Windows-MSVC-CXX.cmake +++ b/Modules/Platform/Windows-MSVC-CXX.cmake @@ -3,15 +3,6 @@ set(_COMPILE_CXX " /TP") if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0) set(_FS_CXX " /FS") endif() - -cmake_policy(GET CMP0138 _cmp0138) -if(_cmp0138 STREQUAL "NEW") - if(NOT _MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM" AND NOT _MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM64") - set(_ZiOrZI "-ZI") - endif() -endif() -unset(_cmp0138) - __windows_compiler_msvc(CXX) if((NOT DEFINED CMAKE_DEPENDS_USE_COMPILER OR CMAKE_DEPENDS_USE_COMPILER) diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake index acfd0d8..e74ec9e 100644 --- a/Modules/Platform/Windows-MSVC.cmake +++ b/Modules/Platform/Windows-MSVC.cmake @@ -441,10 +441,6 @@ macro(__windows_compiler_msvc lang) endif() unset(_cmp0092) - if(NOT DEFINED _ZiOrZI) - set(_ZiOrZI "/Zi") - endif() - if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*") # note: MSVC 14 2015 Update 1 sets -fno-ms-compatibility by default, but this does not allow one to compile many projects # that include MS's own headers. CMake itself is affected project too. @@ -455,16 +451,15 @@ macro(__windows_compiler_msvc lang) string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "${_MD} -DNDEBUG") # TODO: Add '-Os' once VS generator maps it properly for Clang else() string(APPEND CMAKE_${lang}_FLAGS_INIT " ${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_${lang}} /D_WINDOWS${_W3}${_FLAGS_${lang}}") - string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT "${_MDd} ${_ZiOrZI} /Ob0 /Od ${_RTC1}") + string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT "${_MDd} /Zi /Ob0 /Od ${_RTC1}") string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT "${_MD} /O2 /Ob2 /DNDEBUG") - string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "${_MD} ${_ZiOrZI} /O2 /Ob1 /DNDEBUG") + string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "${_MD} /Zi /O2 /Ob1 /DNDEBUG") string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "${_MD} /O1 /Ob1 /DNDEBUG") endif() unset(_Wall) unset(_W3) unset(_MDd) unset(_MD) - unset(_ZiOrZI) set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreaded -MT) set(CMAKE_${lang}_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDLL -MD) |