Skip to content

cpp-linter/clang-tools-pip

Repository files navigation

clang-tools Introduction

PyPI Python test codecov Platfrom PyPI - Downloads

Install clang-tools binaries (clang-format, clang-tidy) with pip.

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

Features

  • Binaries are statically linked for improved portability.

  • Binaries are checked with SHA512 checksum. This ensures:

    1. Downloads are not corrupted.
    2. 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 titled clang-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.

Install

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

  1. there are no permission problems when installing the tool
  2. 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

Usage

For a list of supported Command Line Interface options, see the CLI documentation

Examples

Use clang-tools command to install version 13 binaries.

clang-tools --install 13

Or install to a specified directory

clang-tools --install 13 --directory .

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

Supported versions

clang-format

Version 14 13 12.0.1 12 11 10 9 8 7 6 5 4 3.9
Linux ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Windows ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
macOS ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

clang-tidy

Version 14 13 12.0.1 12 11 10 9 8 7 6 5 4 3.9
Linux ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
Windows ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
macOS ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Know issues:

  1. clang-tidy-14 has Segmentation fault on Ubuntu 22.02.
  2. clang-format-14 is over 1 GB for MacOSX

Thanks to the project clang-tools-static-binaries for all the binaries.

About

Install clang-format, clang-tidy, clang-query and clang-apply-replacements binaries with clang-tools CLI.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors 6

Languages