mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
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
This commit is contained in:
@@ -1,10 +1,16 @@
|
||||
# Emscripten provides a combined toolchain file and platform module
|
||||
# that predates CMake upstream support. Avoid interfering with it.
|
||||
if(CMAKE_SYSTEM_VERSION EQUAL 1)
|
||||
if(CMAKE_TOOLCHAIN_FILE MATCHES [[/Modules/Platform/Emscripten\.cmake$]])
|
||||
include("${CMAKE_TOOLCHAIN_FILE}")
|
||||
# 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)
|
||||
|
||||
Reference in New Issue
Block a user