42 lines
1.3 KiB
CMake
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})
|