From 0182611a5671f80de0a2c7f7b25d0a7cc649e703 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 14 May 2026 09:18:24 -0400 Subject: [PATCH] Emscripten: Restore linking shared libraries with `-shared` flag Prior to CMake 4.2.0, projects using the EMSDK's toolchain file while also enabling `TARGET_SUPPORTS_SHARED_LIBS` would link shared libraries using our default `-shared` flag plus whatever `-sSIDE_MODULE` flag the project added, if any. CMake 4.2.0 introduced builtin Emscripten support, but since commit d361bf365e (Emscripten: Drop hard-coded -sMAIN_MODULE and -sSIDE_MODULE flags, 2025-09-18, v4.2.0-rc1~146^2) we still leave it to projects to add Emscripten-specific flags needed to link shared libraries. Restore the pre-4.2 behavior of adding the `-shared` flag. In particular, this is needed for upcoming Emscripten support for real shared libraries. Issue: #27240 --- Modules/Platform/Emscripten-Clang.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/Modules/Platform/Emscripten-Clang.cmake b/Modules/Platform/Emscripten-Clang.cmake index 8d321f5b00..a1ab4e02ad 100644 --- a/Modules/Platform/Emscripten-Clang.cmake +++ b/Modules/Platform/Emscripten-Clang.cmake @@ -11,7 +11,6 @@ macro(__emscripten_clang lang) # We also do not add -sMAIN_MODULE to CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS # to preserve legacy behavior in which projects added it as needed. # In the future we may add both flags with suitable controls. - set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "") set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_LIBRARIES 1) set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)