From 9dfc2f05b8254aed21cfdd6b232d7705d23794dc Mon Sep 17 00:00:00 2001 From: Konstantin Podsvirov Date: Wed, 13 Apr 2022 21:12:31 +0300 Subject: [PATCH] Use EMSCRIPTEN_ROOT variable in addition to EMSDK (#24072) * Use EMSCRIPTEN variable instead of EMSDK Because it's directly point to appropriate version * Use EMSCRIPTEN_ROOT variable in addition to EMSDK --- triplets/community/wasm32-emscripten.cmake | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/triplets/community/wasm32-emscripten.cmake b/triplets/community/wasm32-emscripten.cmake index 2394e12270..ece5d8a22f 100644 --- a/triplets/community/wasm32-emscripten.cmake +++ b/triplets/community/wasm32-emscripten.cmake @@ -1,10 +1,19 @@ -set(VCPKG_ENV_PASSTHROUGH EMSDK PATH) +set(VCPKG_ENV_PASSTHROUGH_UNTRACKED EMSCRIPTEN_ROOT EMSDK PATH) -if(NOT DEFINED ENV{EMSDK}) - message(FATAL_ERROR "The EMSDK environment variable must be defined") +if(NOT DEFINED ENV{EMSCRIPTEN_ROOT}) + find_path(EMSCRIPTEN_ROOT "emcc") +else() + set(EMSCRIPTEN_ROOT "$ENV{EMSCRIPTEN_ROOT}") endif() -if(NOT EXISTS $ENV{EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake) +if(NOT EMSCRIPTEN_ROOT) + if(NOT DEFINED ENV{EMSDK}) + message(FATAL_ERROR "The emcc compiler not found in PATH") + endif() + set(EMSCRIPTEN_ROOT "$ENV{EMSDK}/upstream/emscripten") +endif() + +if(NOT EXISTS "${EMSCRIPTEN_ROOT}/cmake/Modules/Platform/Emscripten.cmake") message(FATAL_ERROR "Emscripten.cmake toolchain file not found") endif() @@ -12,4 +21,4 @@ set(VCPKG_TARGET_ARCHITECTURE wasm32) set(VCPKG_CRT_LINKAGE dynamic) set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Emscripten) -set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE $ENV{EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake) +set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${EMSCRIPTEN_ROOT}/cmake/Modules/Platform/Emscripten.cmake")