Install clang-format, clang-tidy, clang-query, and clang-apply-replacements binaries with clang-tools CLI.
Important
This package only manages binary executables (& corresponding symbolic links) that are installed using this package's executable script. It does not intend to change or modify any binary executable installed from other sources (like LLVM releases).
Binaries are statically linked for improved portability.
Binaries can be specified installed for increased flexibility.
Binaries are checked with SHA512 checksum. This ensures:
- Downloads are not corrupted.
- Old binary builds can be updated.
Installed binaries are symbolically linked for better cross-platform usage. For example (on Windows), the
clang-tidy-13.exe
binary executable can also be invoked with the symbolic link titledclang-tidy.exe
Note
To create symbolic links on Windows, you must enable developer mode from the Windows settings under "Privacy & security" > "For developers" category.
Customizable install path.
Tip
It is recommended to use this package in a virtual environment.
# create the virtual env in the working directory
python -m venv env-name
# to activate on Linux:
source env-name/bin/activate
# to activate on Windows:
./env-name/Scripts/activate
This will ensure that
- there are no permission problems when installing the tool
- the installed path (for MacOS and Windows) is within the environment's
variable
PATH
.
Install clang-tools command with pip
pip install clang-tools
Install clang-tools from git repo
pip install git+https://github.com/cpp-linter/clang-tools-pip.git@main
For a list of supported Command Line Interface options, see the CLI documentation
Use clang-tools
command to install version 13 binaries.
clang-tools --install 13
Or install to a specified directory
clang-tools --install 13 --directory .
Or install a specified tool, such as clang-format and clang-query version 14.
clang-tools --install 14 --tool clang-format clang-query
If the installed directory is in your path, you can run the installed tools.
clang-format-13 --version
clang-format version 13.0.0
clang-tidy-13 --version
LLVM (http://llvm.org/):
LLVM version 13.0.0
Optimized build.
Default target: x86_64-unknown-linux-gnu
Host CPU: skylake
Version | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Linux | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Windows | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
macOS | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Warning
All clang-tidy v14+ builds for MacOS are still ~1.7 GB in size.
clang-tidy-19_macosx-amd64 size > 2GB, unable to upload to GitHub releases and get by clang-tools CLI.
Thanks to the project clang-tools-static-binaries. We now used the fork repository that fixed the clang-tidy v14+ Segmentation fault (core dumped). see #56 for details and other related build issues.