Files
CMake/Modules/Platform/Emscripten.cmake
Brad King 707f14d434 Emscripten: Restore support for indirect use of emsdk toolchain file
Extend commit 644ad91e6a (Emscripten: Restore support for emsdk
toolchain file and platform module, 2025-09-17) to support using a
third-party `CMAKE_TOOLCHAIN_FILE` that includes the emsdk-provided
toolchain file.

Issue: #27232
2025-09-19 09:21:33 -04:00

22 lines
818 B
CMake

# Emscripten provides a combined toolchain file and platform module
# that predates CMake upstream support. As a toolchain file it sets
# CMAKE_SYSTEM_VERSION to 1 and points CMAKE_MODULE_PATH to itself.
# Include it here to preserve its role as a platform module.
if(CMAKE_SYSTEM_VERSION EQUAL 1 AND CMAKE_MODULE_PATH)
find_file(_EMSCRIPTEN_PLATFORM_MODULE NAMES "Platform/Emscripten.cmake"
NO_CACHE NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH PATHS ${CMAKE_MODULE_PATH})
if(_EMSCRIPTEN_PLATFORM_MODULE)
include("${_EMSCRIPTEN_PLATFORM_MODULE}")
unset(_EMSCRIPTEN_PLATFORM_MODULE)
return()
endif()
unset(_EMSCRIPTEN_PLATFORM_MODULE)
endif()
set(CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH ON)
set(CMAKE_SHARED_LIBRARY_SUFFIX ".wasm")
set(CMAKE_EXECUTABLE_SUFFIX ".js")
set(CMAKE_DL_LIBS "")