Static code checker for CMake files
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cmakelint-1.4.3.tar.gz
.
File metadata
- Download URL: cmakelint-1.4.3.tar.gz
- Upload date:
- Size: 69.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98a1e485318b41eeaf4dee3469ca3039d4745985353ecea208d6dd2c1204c71d |
|
MD5 | abb9439a1b8fd5a300d9151fb16049ff |
|
BLAKE2b-256 | 9f469b6c39837be138179347611ec8cb79bf00ff3b54966ee8b63e031a05cf76 |
File details
Details for the file cmakelint-1.4.3-py3-none-any.whl
.
File metadata
- Download URL: cmakelint-1.4.3-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d812accc44d4b34bdf115c5be230c7d80566f333c9a4a60e81fd5a54bf953f9e |
|
MD5 | 0ce7b2588a70e085345bdbe35025d1cf |
|
BLAKE2b-256 | 532460911dd02598ef4e1b38ff545d1eca33c66158cdca03b20b85575acc5588 |