2018-12-23 18:42:30 +00:00
|
|
|
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
|
|
|
|
# Pre-requisites:
|
|
|
|
rustup target add wasm32-unknown-unknown
|
|
|
|
if ! [[ $(wasm-bindgen --version) ]]; then
|
2018-12-30 10:01:14 +00:00
|
|
|
cargo install -f wasm-bindgen-cli
|
|
|
|
fi
|
|
|
|
|
|
|
|
if ! [[ -f docs/webassembly.d.ts ]]; then
|
|
|
|
curl https://raw.githubusercontent.com/01alchemist/webassembly-types/master/webassembly.d.ts > docs/webassembly.d.ts
|
2018-12-23 18:42:30 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
BUILD=debug
|
|
|
|
# BUILD=release
|
|
|
|
|
|
|
|
# Clear output from old stuff:
|
2018-12-30 10:01:14 +00:00
|
|
|
# rm -rf docs/*.d.ts
|
2018-12-23 18:42:30 +00:00
|
|
|
rm -rf docs/*.js
|
|
|
|
rm -rf docs/*.wasm
|
|
|
|
|
2018-12-23 23:15:18 +00:00
|
|
|
function build_rust
|
|
|
|
{
|
|
|
|
echo "Build rust:"
|
|
|
|
cargo build --target wasm32-unknown-unknown
|
|
|
|
|
|
|
|
echo "Generate JS bindings for wasm:"
|
|
|
|
FOLDER_NAME=${PWD##*/}
|
2019-01-04 13:14:32 +00:00
|
|
|
TARGET_NAME="emgui_wasm.wasm"
|
2018-12-23 23:15:18 +00:00
|
|
|
wasm-bindgen "target/wasm32-unknown-unknown/$BUILD/$TARGET_NAME" \
|
|
|
|
--out-dir docs --no-modules
|
|
|
|
# --no-modules-global hoboho
|
|
|
|
}
|
2018-12-23 18:42:30 +00:00
|
|
|
|
2018-12-23 23:15:18 +00:00
|
|
|
build_rust
|
2018-12-30 10:01:14 +00:00
|
|
|
|
|
|
|
echo "Compile typescript:"
|
2018-12-23 18:42:30 +00:00
|
|
|
tsc
|
|
|
|
|
2018-12-23 23:15:18 +00:00
|
|
|
# wait || exit $?
|
2018-12-23 18:42:30 +00:00
|
|
|
|
2018-12-23 23:15:18 +00:00
|
|
|
# 3.4 s
|