Install

Binary Packages

Binary packages are available from our Release Page. Most users should start here; if no binary release fits your platform, build from source below.

Windows Releases Windows

Linux Releases Linux

Apple Releases macOS

Release

Package 7z

Package msi

Package zip

Package tar.xz

Package tar.gz

Package tar.xz

Package tar.gz

develop

October 30, 2026

MrDocs-develop-win64.7z

(90 MB)

MrDocs-develop-win64.msi

(165 MB)

MrDocs-develop-win64.zip

(168 MB)

MrDocs-develop-Linux.tar.xz

(43 MB)

MrDocs-develop-Linux.tar.gz

(69 MB)

MrDocs-develop-Darwin.tar.xz

(36 MB)

MrDocs-develop-Darwin.tar.gz

(60 MB)

System requirements
  • Linux

  • macOS

  • Windows

You need glibc 2.31 or later: Ubuntu 20.04, Debian 11, Fedora 32, RHEL 9, or anything newer. The package needs nothing else from the system. The package ships its own C++ runtime (libstdc++.so.6 and libgcc_s.so.1) in lib/.

You need macOS 14 (Sonoma) or later. The executable’s deployment target is 14.0, so an older macOS refuses to start it.

You need 64-bit Windows with the Microsoft Visual C++ Redistributable (x64) installed. The executable loads the C++ runtime from it.

Build from Source

Already installed Mr.Docs from a binary package? Skip the rest of this section and go straight to Verification.

If no binary release fits your platform, build Mr.Docs from source with the bootstrap script. The script provisions every dependency Mr.Docs needs (LLVM, Clang, and the other third-party libraries) into the installation prefix you choose, configures the project, and runs the build. Other important reasons to build from source are to set up an environment where plugins work best in terms of ABI compatibility and to set up a development environment to contribute to Mr.Docs itself.

Plugin compatibility

When you build Mr.Docs from source, it’s easier to ensure you’re building a plugin against the exact Mr.Docs that loads it, with the same compiler and standard library. Compiler plugins such as Clang’s work the same way, and it is the way to get Mr.Docs, and plugins for it, on a platform the binary packages do not cover. See the plugin compatibility section for the rules imposed by packages.

Prerequisites

You need Python, a recent C++ toolchain (Clang or a recent GCC), CMake, and Git on the machine. If any of those are missing, pass --install-system-deps to the bootstrap script below and it will use your system package manager to install them.

Running the script

git clone https://www.github.com/cppalliance/mrdocs.git
cd mrdocs
python bootstrap.py

The script prompts for the install directory and other settings interactively. Every prompt has an equivalent CLI flag; the --help output lists them all.

Here are common usage patterns:

  • Non-interactive

  • Dry-run

  • Continuous integration

Accepts every default without prompting. Useful for CI or scripted installs.

python bootstrap.py --yes --build-type Release

Prints every command the script would run, fully resolved. The output is copy-paste-ready shell, useful when you want to follow the build manually:

python bootstrap.py --yes --build-type Release

Point --cache-dir at a CI-cached directory of dependency installs. The script checks stamp files and skips up-to-date recipes. Pair with --skip-build if you only need the dependencies.

python bootstrap.py --yes --plain --build-type Release --sanitizer address --cache-dir ../third-party --skip-build
Reference page

To customize the build, see The Bootstrap Tool Reference page for the full list of options.

Design Rationale

See the bootstrap walkthrough on the C++ Alliance site for the design rationale of the bootstrap script.

Contributor workflow

If you are going to contribute to Mr.Docs, continue on the Development Setup page once the script has finished.

Verification

After install, confirm the binary is on PATH and reports the expected version:

mrdocs --version

It prints the release, the version and the build it was made from:

MrDocs
Release: <Release>
Version: <Version>
Built with LLVM <version>
Plugin build id: <Plugin build id>
Build SHA: <Build SHA>
Target: <Target>
InstalledDir: <InstalledDir>

If the shell reports "command not found" (or "is not recognized as an internal or external command" on Windows), Mr.Docs is installed but its bin/ directory is not on your PATH. Add it and reopen the terminal:

  • Windows

  • Linux / macOS

Append the install prefix’s bin\ to your user PATH from PowerShell:

[Environment]::SetEnvironmentVariable(
  'Path',
  $env:Path + ';C:\path\to\install\bin',
  'User')

Replace C:\path\to\install with the prefix you passed to --install-dir. Close and reopen the terminal so the new PATH takes effect.

Append the install prefix’s bin/ to PATH in your shell profile (typically ~/.zshrc, ~/.bashrc, or ~/.profile):

echo 'export PATH="/path/to/install/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Replace /path/to/install with the prefix you passed to --install-dir (or the default shown in Default directories).

If mrdocs --version still fails after fixing PATH, the binary is on disk but cannot start. Run it with the full path (/path/to/install/bin/mrdocs --version) to see the actual error: missing shared library, wrong CPU architecture, or a mismatched glibc are the usual suspects, all fixable by rerunning bootstrap with the right --cc / --cxx.

Package layout

A Mr.Docs install follows the conventional Unix layout. After install, the prefix contains:

  • bin/ — the mrdocs executable.

  • share/mrdocs/ — bundled resources Mr.Docs reads at runtime

  • lib/ and include/ — the Mr.Docs core library and its public headers, for embedding Mr.Docs in another program.