Skip to content

Building

Dependencies

Requirements for Windows

Requirements for macOS

  • npm, Rust ≥ 1.70.0, CMake ≥ 3.21, Git
  • Xcode ≥ 15.0.1 command-line tools via xcode-select --install

Requirements for Linux

  • npm, Rust ≥ 1.70.0, CMake ≥ 3.21, Git
  • GCC ≥ 11 via sudo apt install gcc
  • Tauri dependencies (see here).

Release Build

Install Node.js dependencies.

npm install

Build an NSIS .exe installer on Windows, .dmg bundle on macOS, or .deb package on Linux.

npm run tauri build

Development Server

Install Node.js dependencies.

npm install

Start development server (debug).

npm run tauri dev

Start development server (release).

npm run tauri dev -- --release

macOS Cross Compilation

Macs can target either arm64 or x86_64.

Install the desired Rust target.

rustup target install aarch64-apple-darwin  # arm64
rustup target install x86_64-apple-darwin  # x86_64

Create src-tauri/.cargo/config.toml that contains the target used above.

[build]
target = "<target>"

Tech Stack

Application

  • ⚛️ React: Frontend UI framework (TypeScript)
  • ⚡️ Vite: Frontend build system (TypeScript)
  • 🖥️ Tauri: Desktop application framework and backend (Rust)
  • 🚗 TrajoptLib: Generates trajectories with Sleipnir (C++, Rust)
  • 📈 Sleipnir: Numerical optimizer (C++)

Formatters/linters