Files
edgetx/cmake/FetchWasiSDK.cmake
T
2026-08-03 16:37:20 +08:00

42 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.14)
set(WASI_SDK_VERSION "25")
set(WASI_SDK_FULL_VERSION "${WASI_SDK_VERSION}.0")
# Determine platform and architecture
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
set(WASI_SDK_PLATFORM "linux")
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
set(WASI_SDK_PLATFORM "macos")
elseif(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
set(WASI_SDK_PLATFORM "windows")
else()
message(FATAL_ERROR "Unsupported platform: ${CMAKE_HOST_SYSTEM_NAME}")
endif()
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64")
set(WASI_SDK_ARCH "x86_64")
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64|arm64")
set(WASI_SDK_ARCH "arm64")
else()
message(FATAL_ERROR "Unsupported Linux architecture: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
endif()
set(WASI_SDK_BASE_URL "https://github.com/WebAssembly/wasi-sdk/releases/download")
set(WASI_SDK_FILENAME "wasi-sdk-${WASI_SDK_VERSION}.0-${WASI_SDK_ARCH}-${WASI_SDK_PLATFORM}")
set(WASI_SDK_URL "${WASI_SDK_BASE_URL}/wasi-sdk-${WASI_SDK_VERSION}/${WASI_SDK_FILENAME}.tar.gz")
set(FETCHCONTENT_QUIET FALSE)
include(FetchContent)
FetchContent_Declare(
WasiSDK
URL ${WASI_SDK_URL}
DOWNLOAD_EXTRACT_TIMESTAMP true
FIND_PACKAGE_ARGS
)
FetchContent_MakeAvailable(WasiSDK)
set(WASI_SDK_PATH ${wasisdk_SOURCE_DIR})