CMakeLint
cmakelint parses CMake files and reports style issues.
cmakelint requires Python.
Installation
To install cmakelint from PyPI, run:
.. code-block:: bash
$ pip install cmakelint
Usage
Syntax: cmakelint [--config=file] [--filter=-x,+y] <file> [file] ...
filter=-x,+y,...
Specify a comma separated list of filters to apply
config=file
Use the given file for configuration. By default the file
$PWD/.cmakelintrc, ~/.config/cmakelintrc, $XDG_CONFIG_DIR/cmakelintrc or
~/.cmakelintrc is used if it exists. Use the value "None" to use no
configuration file (./None for a file called literally None) Only the
option "filter=" is currently supported in this file.
Run the --filter= option with no filter to see available options. Currently
these are:
convention/filename
linelength
package/consistency
readability/logic
readability/mixedcase
readability/wonkycase
syntax
whitespace/eol
whitespace/extra
whitespace/indent
whitespace/mismatch
whitespace/newline
whitespace/tabs
An example .cmakelintrc file would be as follows:
filter=-whitespace/indent
With this file in your home directory, running these commands would have the same effect:
cmakelint.py CMakeLists.txt
cmakelint.py --filter=-whitespace/indent CMakeLists.txt
Filters can optionally be directly enabled/disabled from within a CMake file, overriding the configuration from file or CLI argument:
# lint_cmake: <+ or -><filter name>
# e.g.:
# lint_cmake: -readability/wonkycase
# add multiple filters as list:
# lint_cmake: <+/-><filter1>, <+/-><filter2>
cmakelint can also be run with pre-commit. Add the following configuration block to your .pre-commit-config.yaml:
- repo: https://github.com/cmake-lint/cmake-lint
hooks:
- id: cmakelint
Output status codes
The program should exit with the following status codes:
- 0 if everything went fine
- 1 if an error message was issued
- 32 on usage error
Metadata
Release files for cmakelint 1.4.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cmakelint-1.4.3.tar.gz | 69.6 kB | Without provenance | Details for cmakelint-1.4.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cmakelint-1.4.3-py3-none-any.whl | Python 3 | none | any | Details for cmakelint-1.4.3-py3-none-any.whl |
Total release size: 82.7 kB
Release files / cmakelint-1.4.3.tar.gz
| Download URL | cmakelint-1.4.3.tar.gz |
|---|---|
| Size | 69.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
98a1e485318b41eeaf4dee3469ca3039d4745985353ecea208d6dd2c1204c71d
|
|
BLAKE2b-256 checksum How to use checksums |
9f469b6c39837be138179347611ec8cb79bf00ff3b54966ee8b63e031a05cf76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.6
|
Release files / cmakelint-1.4.3-py3-none-any.whl
| Download URL | cmakelint-1.4.3-py3-none-any.whl |
|---|---|
| Size | 13.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d812accc44d4b34bdf115c5be230c7d80566f333c9a4a60e81fd5a54bf953f9e
|
|
BLAKE2b-256 checksum How to use checksums |
532460911dd02598ef4e1b38ff545d1eca33c66158cdca03b20b85575acc5588
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.11.6
|
Security for cmakelint 1.4.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.