set shell := ["nu", "-c"] set dotenv-load build *flags: ^cargo build {{flags}} run *flags: ^cargo run {{flags}} example name *flags: with-env { RUST_BACKTRACE: 1 } { ^cargo run --example {{name}} {{flags}} } example-rel name *flags: with-env { RUST_BACKTRACE: 1 } { ^cargo run --release --example {{name}} {{flags}} } expand example: ^cargo expand --example {{example}} wasm-example name *wasmtime_flags: with-env { \ CARGO_TARGET_WASM32_WASI_LINKER: $"($env.WASI_SDK_PATH)/bin/wasm-ld" \ CC_wasm32-wasi: $"($env.WASI_SDK_PATH)/bin/clang" \ AR_wasm32-wasi: $"($env.WASI_SDK_PATH)/bin/llvm-ar" \ RANLIB_wasm32-wasi: $"($env.WASI_SDK_PATH)/bin/llvm-ranlib" \ CFLAGS_wasm32-wasi: "-D_WASI_EMULATED_PROCESS_CLOCKS" \ CARGO_TARGET_WASM32_WASI_RUSTFLAGS: $"-C link-args=-L($env.WASI_SDK_PATH)/share/wasi-sysroot/lib/wasm32-wasi" \ BINDGEN_EXTRA_CLANG_ARGS_wasm32-wasi: $"--sysroot=($env.WASI_SDK_PATH)/share/wasi-sysroot -fvisibility=default" \ CARGO_TARGET_WASM32_WASI_RUNNER: "wasmtime -Scommon {{wasmtime_flags}}" \ } { \ ^cargo run --example {{name}} --target wasm32-wasi \ }