Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Installation

cadvm installs in two layers. The first is all most users need.

  1. the cadvm binary (version control + TUI) — pure Rust, works everywhere;
  2. the cadvm-geom helper (geometric diff + viewer) — requires Open CASCADE, a prerequisite you install yourself (cadvm does not bundle it).

You only need part 2 for cadvm geom-diff and cadvm view; everything else works without Open CASCADE.

1. The cadvm binary

One-line install (Linux / macOS)

curl -fsSL https://raw.githubusercontent.com/AdeMBCH/cadvm/main/scripts/install-release.sh | sh

This detects your OS/arch, downloads the matching binary from the latest release, and installs it into ~/.local/bin (override the location with CADVM_INSTALL_DIR).

Prebuilt binary (manual download)

Each release ships binaries for Linux, macOS (Apple Silicon) and Windows. Download the one for your platform and put it on your PATH:

# Linux
curl -L -o cadvm https://github.com/AdeMBCH/cadvm/releases/latest/download/cadvm-x86_64-unknown-linux-gnu
chmod +x cadvm && sudo mv cadvm /usr/local/bin/

(macOS: cadvm-aarch64-apple-darwin; Windows: cadvm-x86_64-pc-windows-msvc.exe.)

From source

Requires a recent stable Rust toolchain (tested on 1.96).

# from a clone of the repository
cargo install --path crates/cadvm-cli

This puts cadvm in ~/.cargo/bin. Make sure that directory is on your PATH:

export PATH="$HOME/.cargo/bin:$PATH"
cadvm --help

To update later, re-run the same command with --force.

2. Geometry features (Open CASCADE prerequisite)

Install Open CASCADE

Ubuntu / Debian:

sudo apt-get install -y \
  libocct-foundation-dev libocct-modeling-data-dev \
  libocct-modeling-algorithms-dev libocct-data-exchange-dev \
  cmake g++

macOS (Homebrew):

brew install opencascade cmake

Windows: install OCCT (e.g. via vcpkg opencascade) and CMake, then build from a Developer prompt.

Build the helper

cpp/build.sh        # produces cpp/cadvm-geom/build/cadvm-geom

Point cadvm at it

export CADVM_GEOM_BIN="$PWD/cpp/cadvm-geom/build/cadvm-geom"

Add that line to your ~/.bashrc (or shell profile) to make it permanent. If cadvm-geom is on your PATH, the env var is optional.

One-command install / uninstall

From a clone, on Linux/macOS:

./scripts/install.sh      # builds & installs cadvm; also builds the geometry
                          # helper when Open CASCADE is detected
./scripts/uninstall.sh    # removes the binary and the geometry build

uninstall.sh removes the cadvm binary (via cargo uninstall cadvm-cli) and the locally built helper. Your repositories’ .cadvm/ data is left untouched; if you exported CADVM_GEOM_BIN in your shell profile, remove that line.

Shell completions

cadvm can generate completion scripts for bash, zsh, fish, elvish and PowerShell:

# bash
mkdir -p ~/.local/share/bash-completion/completions
cadvm completions bash > ~/.local/share/bash-completion/completions/cadvm

# zsh (ensure the dir is in your $fpath, then recompinit)
cadvm completions zsh > ~/.zfunc/_cadvm

# fish
cadvm completions fish > ~/.config/fish/completions/cadvm.fish

Reopen your shell, then cadvm <Tab> completes commands and options.

Verifying

cadvm --help                 # lists all commands, including ui
cadvm completions bash | head
cadvm-geom diff a.step b.step  # if you built the helper

Next: Getting started.