skillfed

cmakelang

Language tools for cmake (format, lint, etc)

cmakelang v0.6.13 1.1M downloads/30d#4,372 on PyPI
Copyleft license GPLv3 Abandoned released

What it is and what it does

cmakelang is a suite of QA tools for CMake listfiles, offering formatting, linting, annotation, and ctest output parsing. It includes cmake-format to reformat CMake code according to configurable rules, cmake-lint to check for problems, cmake-annotate to generate HTML documentation, and ctest-to to convert test output to structured formats. Configuration is flexible, accepting YAML, JSON, or Python files, and the tool can automatically discover configuration in parent directories.

The package depends only on six and installs as a pure Python wheel, making it lightweight to add to a build pipeline. However, the project has been abandoned since August 2020, with no maintenance or updates since its initial release. This means it may not support newer CMake syntax or features, and any bugs discovered will not be fixed.

Use it for:

  • Enforce consistent CMake code style across a project by running cmake-format in CI/CD pipelines
  • Detect common CMake mistakes and anti-patterns using cmake-lint as a pre-commit hook
  • Generate HTML documentation from CMake listfiles with cmake-annotate for project reference
  • Parse and convert ctest output to JSON or XML for integration with test reporting systems

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides command-line tools to format, lint, and annotate CMake listfiles, plus a utility to parse and convert ctest output to JSON or XML.

Yes, if your CMake project is stable and uses syntax from 2020 or earlier. The tool is lightweight, has no security vulnerabilities, and works well for formatting and linting. However, do not adopt it for new projects or if you rely on recent CMake features—the abandonment since August 2020 means no bug fixes or feature updates will arrive. Consider it a snapshot tool suitable for legacy codebases, not an actively maintained dependency.

Install

cmakelang on PyPI

pip

pip install cmakelang

uv

uv add cmakelang

poetry

poetry add cmakelang

Installing cmakelang

Before you install

Installation is straightforward with low friction—a pure Python wheel with only six as a runtime dependency. However, the project is abandoned; the latest release was 2020-08-19 and no updates have been made since.

License in practice

Licensed under GPLv3 (copyleft). Any derivative work or distribution must also be licensed under GPLv3, which may restrict use in proprietary or closed-source projects.

Quickstart

pip install cmakelang

from cmakelang import cmake_format
# Then use cmake-format, cmake-lint, cmake-annotate, or ctest-to from the command line

The package provides command-line tools primarily; programmatic API details are not specified in the fact sheet.

Verify before relying

  • Whether the package's programmatic API is stable and documented for direct Python imports
  • Current compatibility with modern CMake versions and syntax
  • Whether abandonment has led to unresolved bugs or incompatibilities in recent CMake projects

Package facts

License GPLv3 (copyleft)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 1 — six
Maintenance abandoned — 2,186 days since the last release
First released
Downloads 1,099,209/month — #4,372 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: cmakelang-0.6.13-py3-none-any.whl

Keywords: cmake, format

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: GNU General Public License v3 (GPLv3)

Tags

cmake formattercmake lintercmake code qualitycmake style checkercmake listfile formatcmake annotation toolctest output parser
cmake-toolingcode-formatterabandoned

More Quality Assurance packages