All of the tools are included as part of the cmakelang python distribution package.


Until verion 0.6.13 the software was distributed under the cmake-format python package. As the project grew to include multiple tools beyond the formatter, the name was changed to something more appropriate. The cmake-format package will be maintained for the forseable future as an empty package depending on cmakelang to ease users transition.

Install with pip

The easiest way to install cmakelang is from using pip. For example:

pip install cmakelang

If you’re on a linux-type system (such as ubuntu) the above command might not work if it would install into a system-wide location. If that’s what you really want you might need to use sudo, e.g.:

sudo pip install cmakelang

In general though I wouldn’t really recommend doing that though since things can get pretty messy between your system python distributions and your pip managed directories. Alternatively you can install it for your user with:

pip install --user cmakelang

which I would probably recommend for most users.


If you wish to use a configuration file in YAML format you’ll want to install with the optional YAML feature, e.g.:

pip install cmakelang[YAML]

or manually install pyyaml. Likewise, if you’d like to use the HTML annotator you may install with the optional html-gen feature, e.g.:

pip install cmakelang[html-gen]

or you may install jinja2 manually.

Install from source

You can also install from source with pip. You can download a release package from github or pypi and then install it directly with pip. For example:

pip install v0.6.13.tar.gz

Note that the release packages on github are automatically generated from git tags which are the same commit used to generate the corresponding version package on So whether you install a particular version from github or pypi shouldn’t matter.

Pip can also install directly from github. For example:

pip install git+

If you wish to test a pre-release or dev package from a branch called foobar you can install it with:

pip install "git+"

IDE Integrations

For the formatter specifically:

Note that for both plugins cmake-format itself must be installed separately.


If you are a user of the pre-commit project you can easily add the formatter, cmake-format, to your hooks with the following addition to your .pre-commit-hooks.yaml file.

  - repo:
    rev: v0.6.13
    - id: cmake-format

Docker Images

There is an official docker image at dockerhub. You can pull the latest with, e.g.:

docker pull cheshirekow/cmake-format