From e349b471d829098edb180b6ed03d8cbfa9fbef9a Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 1 Aug 2025 12:31:45 -0400 Subject: [PATCH] MSVC: Fix regression that links shared libraries with bogus -shared flag Clear `CMAKE_SHARED_LIBRARY_CREATE__FLAGS` since no special link flags are needed to create a DLL with MSVC toolchains. Our shared library creation rules never referenced that placeholder, so this variable was never used until commit 951e4d3f62 (Ninja,Makefile: Move builtin linker flags to placeholder, 2025-06-09, v4.1.0-rc1~37^2~2) taught the generators to look it up directly. This was not previously noticed because the `-shared` flag is ignored unless the `-WX` flag enables an error on it. Fixes: #27106 --- Modules/Platform/Windows-MSVC.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake index 352c737e74..48c7b49a2f 100644 --- a/Modules/Platform/Windows-MSVC.cmake +++ b/Modules/Platform/Windows-MSVC.cmake @@ -393,6 +393,7 @@ macro(__windows_compiler_msvc lang) set(_CMAKE_VS_LINK_DLL " -E vs_link_dll --msvc-ver=${MSVC_VERSION} --intdir= --rc= --mt= --manifests -- ") set(_CMAKE_VS_LINK_EXE " -E vs_link_exe --msvc-ver=${MSVC_VERSION} --intdir= --rc= --mt= --manifests -- ") endif() + set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "") if(CMAKE_SYSTEM_NAME STREQUAL "WindowsKernelModeDriver") set(_DLL_DRIVER "-driver") else()