From 23ffb2bdb96cf5a8eebce86b1ab21acf88979661 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Tue, 12 Mar 2024 03:30:43 -0700 Subject: [PATCH] [CMake] Enable new policy for CMAKE_MSVC_DEBUG_INFORMATION_FORMAT (#82371) --- cmake/Modules/CMakePolicy.cmake | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmake/Modules/CMakePolicy.cmake b/cmake/Modules/CMakePolicy.cmake index 0ec32ad8637f..b5bd1e6cdffe 100644 --- a/cmake/Modules/CMakePolicy.cmake +++ b/cmake/Modules/CMakePolicy.cmake @@ -10,3 +10,16 @@ endif() if(POLICY CMP0116) cmake_policy(SET CMP0116 OLD) endif() + +# MSVC debug information format flags are selected via +# CMAKE_MSVC_DEBUG_INFORMATION_FORMAT, instead of +# embedding flags in e.g. CMAKE_CXX_FLAGS_RELEASE. +# New in CMake 3.25. +# +# Supports debug info with SCCache +# (https://github.com/mozilla/sccache?tab=readme-ov-file#usage) +# avoiding “fatal error C1041: cannot open program database; if +# multiple CL.EXE write to the same .PDB file, please use /FS" ++if(POLICY CMP0141) ++ cmake_policy(SET CMP0141 NEW) ++endif()