cmakelint
Static code checker for CMake files
Decision gist · record as of 2026-08-14
Yes, if you maintain CMake projects and want automated style checking. The tool is lightweight, dependency-free, and permissively licensed. The dormant maintenance status is a minor concern for new features, but the stable codebase and lack of known vulnerabilities make it safe for ongoing use in established workflows.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with no runtime dependencies.
- Maintenance is dormant—last release was in May 2024—but the repository remains active and the package is marked Production/Stable.
License · maintenance · safety
Apache 2.0 (permissive) — Licensed under Apache 2.0 (permissive), allowing use in commercial and private projects with minimal restrictions.
last release 2024-05-12 (824 days) · last repo commit 2024-05-12 · 107 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 83,016 downloads/mo, #14,106 on PyPI
Alternatives
Verify before relying
pip install cmakelint
cmakelint CMakeLists.txt
# With filters:
cmakelint --filter=-whitespace/indent CMakeLists.txt- Whether Python version constraints exist despite requires_python being unspecified.
- Current status of pre-commit integration mentioned in the description.
What it is and what it does
cmakelint is a static code checker for CMake files that enforces style and quality rules. It parses CMakeLists.txt and related CMake scripts, then reports violations across multiple categories: syntax errors, whitespace issues (indentation, tabs, line endings, extra whitespace), readability problems (mixed case, logic clarity), package consistency, and filename conventions. The tool is configured via command-line filters or a .cmakelintrc configuration file, and supports inline directives within CMake files to override rules on a per-file basis.
It integrates into development workflows as a standalone command-line tool or as a pre-commit hook. With no runtime dependencies and a pure-Python wheel distribution, installation is straightforward. The package has been stable since its early releases and remains in production use, though active development has slowed.
Use it for
- Enforce consistent CMake style across a project before committing code.
- Integrate CMake linting into CI/CD pipelines to catch style violations early.
- Set up pre-commit hooks to automatically check CMakeLists.txt files on each commit.
- Audit existing CMake codebases for whitespace and naming convention violations.
- Configure project-specific CMake rules via .cmakelintrc to match team standards.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you maintain CMake projects and want automated style checking.
The tool is lightweight, dependency-free, and permissively licensed. The dormant maintenance status is a minor concern for new features, but the stable codebase and lack of known vulnerabilities make it safe for ongoing use in established workflows.
Install
cmakelint on PyPI
Before you install
Low install friction with no runtime dependencies. Maintenance is dormant—last release was in May 2024—but the repository remains active and the package is marked Production/Stable.
License in practice
Licensed under Apache 2.0 (permissive), allowing use in commercial and private projects with minimal restrictions.
Quickstart
pip install cmakelint
cmakelint CMakeLists.txt
# With filters:
cmakelint --filter=-whitespace/indent CMakeLists.txt
Verify before relying
- Whether Python version constraints exist despite requires_python being unspecified.
- Current status of pre-commit integration mentioned in the description.
Package facts
| License | Apache 2.0 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 824 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 83,016 / month, #14,106 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: OtherProgramming Language :: PythonTopic :: Software Development |
Evidence: cmakelint-1.4.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “cmake style checker”
- cmakelintcmakelint parses CMake files and reports style violations across…
- cmake-formatFormats, lints, and annotates CMake listfiles, and converts ctest…
- cmakelangProvides command-line tools to format, lint, and annotate CMake…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also cmakelang · EditorConfig · gersemi · cmake-format · cpplint · tclint · yamllint · sphinx-lint · pep8 · dotenv-linter