Initial commit step0

This commit is contained in:
2026-06-12 18:48:27 +02:00
commit 7093fb49a0
11 changed files with 330 additions and 0 deletions

38
step0/Web.cmake Normal file
View File

@@ -0,0 +1,38 @@
set(CMAKE_SYSTEM_NAME WASI)
set(CMAKE_SYSTEM_PROCESSOR WASM)
set(CMAKE_SYSTEM_PROCESSOR_FAMILY WASM)
set(WASM ON)
set(WEB ON)
# Find clang/clang++ as compiler
find_program(CMAKE_C_COMPILER clang)
find_program(CMAKE_CXX_COMPILER clang++)
find_program(CMAKE_ASM_COMPILER llvm-mc)
# Some options that affect the generated output
set(WASM_OPTS -mbulk-memory -matomics -fignore-exceptions -msimd128)
add_compile_definitions(
$<$<COMPILE_LANGUAGE:C,CXX>:__wasi__>
$<$<COMPILE_LANGUAGE:C,CXX>:__WASM__>
)
add_compile_options(${WASM_OPTS})
add_link_options(-nostdlib ${WASM_OPTS})
set(CMAKE_CROSSCOMPILING TRUE)
set(CMAKE_EXECUTABLE_SUFFIX_CXX ".wasm")
set(CMAKE_EXECUTABLE_SUFFIX_C ".wasm")
set(BUILD_SHARED_LIBS OFF)
set(CMAKE_C_COMPILER_TARGET unknown-unknown-wasm32-web)
set(CMAKE_CXX_COMPILER_TARGET unknown-unknown-wasm32-web)
set(CMAKE_ASM_COMPILER_TARGET unknown-unknown-wasm32-web)
# adjust the default behavior of the FIND_XXX() commands:
# search programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# search headers and libraries in the target environment
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)