Freedom251 › Documentation Generators
CMinx

What CMinx is
CMinx is a free tool for generating API documentation for CMake functions and macros. It extracts reStructuredText comment blocks from CMake files and writes Sphinx-compatible .rst files that can be included in a Sphinx documentation project. Documented functions or variables use block comments beginning with `#[[[` and ending with `#]]`. The `cminx` command accepts files or directories and supports output selection, recursive processing, prefixes, settings, and exclude filters. Installation can use pip or a build and install through CMake. CMinx can also be added to a CMake build with FetchContent and run through `cminx_gen_rst()`. YAML settings files can override defaults, while command-line arguments take precedence. Configuration locations vary by operating system, including `$XDG_CONFIG_HOME/cminx` on Linux. The project targets C/C++ workflows using CMake and identifies its license as Apache-2.0.
Who it suits
CMinx suits C/C++ teams documenting APIs in CMake modules. It is useful when generated reStructuredText needs to join a Sphinx documentation workflow.
What it does well
- Generates Sphinx-compatible .rst files
- Processes CMake files or directories
- Recursive and exclusion options
- YAML and command-line settings
- CMake FetchContent integration
What to know first
- Requires specific block-comment syntax
- Generated output is reStructuredText
- No features beyond CMake documentation are listed
Verdict
CMinx turns structured CMake comments into documentation files for Sphinx and supports both command-line and CMake-build workflows. Its free Apache-2.0 project is focused specifically on CMake API documentation.
Facts from CMinx's own pages
- CLI
- The cminx command accepts CMake files or directories and supports output, recursive processing, prefixes, settings, and exclude filters. · cmakepp.github.io, 4 Oct 2026
- CMake integration
- CMinx can be brought into a CMake build with FetchContent and run with cminx_gen_rst(). · cmakepp.github.io, 4 Oct 2026
- Comment syntax
- Documented CMake functions or variables use block doc comments that begin with #[[[ and end with #]]. · cmakepp.github.io, 4 Oct 2026
- Config files
- CMinx searches for configuration files in operating-system dependent locations, including $XDG_CONFIG_HOME/cminx on Linux. · cmakepp.github.io, 4 Oct 2026
- Custom settings
- A YAML settings file can override defaults, while command-line arguments override both settings and defaults. · cmakepp.github.io, 4 Oct 2026
- How it works
- It extracts reStructuredText comment blocks from CMake files and generates Sphinx compatible .rst files. · cmakepp.github.io, 4 Oct 2026
- Installation
- The documentation recommends installing with pip, or building and installing through CMake. · cmakepp.github.io, 4 Oct 2026
- License
- The GitHub repository identifies the project license as Apache-2.0. · github.com, 4 Oct 2026
- Output formats
- CMinx generates reStructuredText files whose contents can use reStructuredText markup. · github.com, 4 Oct 2026
- Purpose
- CMinx generates API documentation for CMake functions and macros. · cmakepp.github.io, 4 Oct 2026
- Sphinx workflow
- CMinx-generated API documentation can be included in a Sphinx documentation project. · cmakepp.github.io, 4 Oct 2026
- Support
- The project asks users to open an issue for questions, suggestions, or bug reports and says it will address them as soon as possible. · github.com, 4 Oct 2026
- Who it serves
- CMinx is intended for documenting APIs in CMake modules as part of a C/C++ workflow. · cmakepp.github.io, 4 Oct 2026
Where CMinx stands on Freedom251
- Documentation Generators#24 of 37