Install
Binary Packages
Binary packages are available from our Release Page. Most users should use these packages.
|
|
|
|||||
Release |
|
|
|
|
|
|
|
|
March 16, 2026 |
(24 MB) |
(46 MB) |
(47 MB) |
(25 MB) |
(38 MB) |
(18 MB) |
(29 MB) |
|
October 30, 2025 |
(24 MB) |
(46 MB) |
(47 MB) |
(25 MB) |
(38 MB) |
(18 MB) |
(29 MB) |
|
October 28, 2025 |
(23 MB) |
(43 MB) |
(43 MB) |
(23 MB) |
(36 MB) |
(16 MB) |
(27 MB) |
|
October 28, 2025 |
(24 MB) |
(46 MB) |
(47 MB) |
(25 MB) |
(38 MB) |
(18 MB) |
(29 MB) |
|
August 6, 2025 |
(23 MB) |
(43 MB) |
(43 MB) |
(23 MB) |
(36 MB) |
(16 MB) |
(27 MB) |
|
January 2, 2025 |
(22 MB) |
(42 MB) |
(42 MB) |
(22 MB) |
(32 MB) |
(16 MB) |
(25 MB) |
|
July 10, 2024 |
(20 MB) |
(37 MB) |
(37 MB) |
(52 MB) |
(80 MB) |
- |
- |
|
December 1, 2023 |
(11 MB) |
(18 MB) |
- |
(19 MB) |
(28 MB) |
- |
- |
Bootstrap Script
The bootstrap script is the recommended way to install Mr.Docs and all its dependencies from source. It handles LLVM, Clang, JerryScript, Lua, Boost headers, and libxml2 automatically.
git clone https://www.github.com/cppalliance/mrdocs.git
cd mrdocs
python bootstrap.py
The script prompts for the installation directory and other options interactively.
Every option can also be specified on the command line; run python bootstrap.py --help for the full list.
Non-interactive mode
Use --yes to accept all defaults without prompting.
This is handy for refreshing dependencies or scripting:
python bootstrap.py --yes --build-type Release
Build options
--build-type <type>-
CMake build type:
Debug,Release,RelWithDebInfo, orMinSizeRel. --sanitizer <san>-
Enable a sanitizer (
address,memory,undefined,thread). When usingaddressormemorywith clang, bootstrap automatically builds instrumented libc++ runtimes and propagates the required flags. --cc <path>/--cxx <path>-
Paths to the C and C++ compilers.
--cflags <flags>/--cxxflags <flags>/--ldflags <flags>-
Extra compiler or linker flags passed to all dependency and project builds (e.g.
--cxxflags "-gz=zstd"). --build-tests-
Build the Mr.Docs test suite (requires Java for xml-lint).
Dependency options
--recipe-filter <list>-
Only build specific recipes (comma-separated, e.g.
llvm,jerryscript). --skip-build-
Install dependencies only; do not configure or build Mr.Docs itself.
--clean-
Clean and rebuild all dependencies from scratch.
--force-
Force rebuild even if a dependency is already up to date.
--list-recipes-
Print available recipes and exit.
--install-system-deps-
Attempt to install missing system prerequisites (cmake, git, a compiler) via
apt-getorbrew.
CI and caching options
--plain-
Disable colors and emoji so output is suitable for CI log parsing.
--cache-dir <path>-
Point bootstrap at a directory of cached dependency installs. Bootstrap checks stamp files and skips up-to-date recipes. After a run the directory contains everything CI needs to save back to cache.
--cache-key <recipe>-
Print the cache key for a recipe and exit (e.g.
--cache-key llvm). Useful for CI save/restore steps. --os-key <key>-
OS or container identifier included in cache keys (e.g.
ubuntu:24.04,macos-15). --env-file <path>-
Write computed
_ROOTpaths and flags to a file inkey=valueformat, ready for CI environment injection.
A typical CI invocation looks like:
python bootstrap.py --yes --plain \
--build-type Release --sanitizer asan \
--cc clang-19 --cxx clang++-19 \
--cache-dir ../third-party --skip-build
Dry-run mode
Use --dry-run to see every command bootstrap would execute, printed as copy-pasteable shell commands with fully resolved paths.
This is the recommended reference if you need to understand or reproduce the build steps manually:
python bootstrap.py --yes --dry-run --build-type Release
|
The bootstrap script automatically installs all dependencies (LLVM, Clang, etc.) to the same prefix as Mr.Docs. This ensures that the Clang resource directory can be found at runtime without additional configuration. |
Package layout
The MrDocs installation directory follows the "Filesystem Hierarchy Standard" (FHS) layout:
-
bin: the MrDocs executable intended to be used by users or invoked from the command line. -
share: resource files installed by MrDocs -
doc: the MrDocs documentation -
include: the MrDocs headers -
lib: the MrDocs library
The FHS layout provides a directory structure that also serves as a widely accepted convention for organizing files and directories in Unix-like systems, but that can be used in any operating system.
|
The MrDocs binary must be installed in the same installation prefix as the Clang library it was built from.
This is required because the Clang resource directory location is resolved relative to the MrDocs executable at runtime.
When installing both LLVM/Clang and MrDocs, ensure they share the same |