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.
|
|
|
|||||
Release |
|
|
|
|
|
|
|
|
October 30, 2026 |
(90 MB) |
(165 MB) |
(168 MB) |
(43 MB) |
(69 MB) |
(36 MB) |
(60 MB) |
|
System requirements
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 ( 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
Append the install prefix’s
Replace Append the install prefix’s
Replace If |
Package layout
A Mr.Docs install follows the conventional Unix layout. After install, the prefix contains:
-
bin/— themrdocsexecutable. -
share/mrdocs/— bundled resources Mr.Docs reads at runtime -
lib/andinclude/— the Mr.Docs core library and its public headers, for embedding Mr.Docs in another program.