## Development setup 1. Clone repo ```shell # Go to Home Directory cd ~ # You can clone into home directory or different directory git clone https://github.com/tijlleenders/ZinZen-scheduler.git ``` 2. [Install Rust](https://www.rust-lang.org/tools/install) 3. Add target for wasm: ```shell rustup target add wasm32-unknown-unknown # Go to project directory cd ~/ZinZen-scheduler/ ``` 4. Install WASM dependencies ```shell cargo install wasm-bindgen-cli ``` - Or [Install wasm-bindgen command line interface](https://rustwasm.github.io/wasm-bindgen/reference/cli.html) with any dependencies - If it fails with openssl or pkg-config error message do ```shell sudo apt-get install wabt binaryen # [... or DIY](https://github.com/WebAssembly/wabt) ``` - If it fails with `linker 'cc' not found` do `sudo apt install build-essential` and retry 5. (Optional) [Install deno](https://deno.land/manual/getting_started/installation). Only necessary if you want to run the deno tests that test the usage of the WASM module in JavaScript context. 6. You can now run the test from javascript/deno or from `cargo` as below: ```shell # Run tests by deno ./deno_test.sh # Run tests by cargo cargo test ``` 7. Debugging: extra, useful information for an efficient debugging setup can be found at [Debugging-Setup](Debugging-Setup.md) 8. Profiling: methods for profiling are described in [Profiling](Profiling.md)