summaryrefslogtreecommitdiff
path: root/Modules/Platform/Windows-MSVC-C.cmake
diff options
context:
space:
mode:
authorGlen Chung <kuchung@microsoft.com>2022-05-24 12:14:59 -0700
committerBrad King <brad.king@kitware.com>2022-05-26 09:06:01 -0400
commit5fcadc481e4b60e5dbbacb026b73631b69ca3746 (patch)
tree3c121306587bd873133dfb76e190f61be937f697 /Modules/Platform/Windows-MSVC-C.cmake
parentbb500723555940a29355a71898b44be196dec2a6 (diff)
downloadcmake-5fcadc481e4b60e5dbbacb026b73631b69ca3746.tar.gz
MSVC: Default to -ZI instead of /Zi for x86 and x64
Add a policy for compatibility. For more information, see [1]. [1] https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format?view=msvc-170 Fixes: #10189
Diffstat (limited to 'Modules/Platform/Windows-MSVC-C.cmake')
-rw-r--r--Modules/Platform/Windows-MSVC-C.cmake9
1 files changed, 9 insertions, 0 deletions
diff --git a/Modules/Platform/Windows-MSVC-C.cmake b/Modules/Platform/Windows-MSVC-C.cmake
index 67b68277d1..7dfc033b61 100644
--- a/Modules/Platform/Windows-MSVC-C.cmake
+++ b/Modules/Platform/Windows-MSVC-C.cmake
@@ -2,6 +2,15 @@ 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)