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 | 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.
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.