- Rust (stable, targeting
wasm32-unknown-unknown) - CMake (v3.20+), Ninja
- C++ Compiler (MSVC 2022 on Windows, GCC/Clang on Linux with GTK4 developer libraries)
On Linux (Debian/Ubuntu):
sudo apt-get update && sudo apt-get install -y libgtk-4-dev pkg-config ninja-build libx11-dev build-essentialRun the platform-specific scripts to compile the Rust core runtime, build WASM plugins, and generate the C++ executable:
cd plug.cross\windows
.\make.batOutputs: plug.cross/release/x64/plug-x64.exe and plugins/
cd plug.cross/linux
./make.shOutputs: plug.cross/release/x86_64/plug-x64 and plugins/
cd plug.app/rt
cargo build --release --libGenerates: plug.app/rt/target/release/tm_main.lib (Windows) or libtm_main.a (Linux).
rustc --target wasm32-unknown-unknown --crate-type cdylib \
plug.app/rt/src_plugins/pTerm/pTerm.rs \
-o plugins/pTerm.wasm \
-C opt-level=z -C lto=truecd plug.cross\windows
mkdir build
cd build
cmake -G Ninja -DRUST_LIB_PATH=../../../plug.app/rt/target/release/tm_main.lib -DCMAKE_BUILD_TYPE=Release ..
ninjacd plug.cross/linux
mkdir build
cd build
cmake -G Ninja -DRUST_LIB_PATH=../../../plug.app/rt/target/release/libtm_main.a -DCMAKE_BUILD_TYPE=Release ..
ninja