mirror of
https://github.com/Kitware/CMake.git
synced 2026-07-01 04:07:15 +00:00
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
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user