Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cpp-linter/clang-tools-pip
Install clang-format, clang-tidy, clang-query and clang-apply-replacements binaries with clang-tools CLI.
https://github.com/cpp-linter/clang-tools-pip
clang-format clang-tidy clang-tools-extra hacktoberfest llvm llvm-clang
Last synced: 4 months ago
JSON representation
Install clang-format, clang-tidy, clang-query and clang-apply-replacements binaries with clang-tools CLI.
- Host: GitHub
- URL: https://github.com/cpp-linter/clang-tools-pip
- Owner: cpp-linter
- License: mit
- Created: 2022-06-24T23:31:50.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-29T07:45:30.000Z (8 months ago)
- Last Synced: 2024-05-29T20:12:45.921Z (8 months ago)
- Topics: clang-format, clang-tidy, clang-tools-extra, hacktoberfest, llvm, llvm-clang
- Language: Python
- Homepage: https://pypi.org/project/clang-tools
- Size: 6.98 MB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
clang-tools CLI
===============**Install clang-format, clang-tidy, clang-query, and clang-apply-replacements binaries with clang-tools CLI.**
.. |latest-version| image:: https://img.shields.io/pypi/v/clang-tools
:target: https://pypi.org/project/clang-tools/
:alt: PyPI
.. |python-test| image:: https://github.com/cpp-linter/clang-tools-pip/actions/workflows/python-test.yml/badge.svg
:target: https://github.com/cpp-linter/clang-tools-pip/actions/workflows/python-test.yml
:alt: Python test
.. |codecov-badge| image:: https://codecov.io/gh/cpp-linter/clang-tools-pip/branch/main/graph/badge.svg?token=40G5ZOIRRR
:target: https://codecov.io/gh/cpp-linter/clang-tools-pip
:alt: codecov
.. |sonar-badge| image:: https://sonarcloud.io/api/project_badges/measure?project=cpp-linter_clang-tools-pip&metric=alert_status
:target: https://sonarcloud.io/summary/new_code?id=cpp-linter_clang-tools-pip
:alt: sonarcloud
.. |platfrom-badge| image:: https://img.shields.io/badge/platform-linux--64%20%7C%20win--64%20%7C%20osx--64%20-blue
:target: https://pypi.org/project/clang-tools/
:alt: Platfrom
.. |pypi-badge| image:: https://img.shields.io/pypi/dw/clang-tools
:target: https://pypistats.org/packages/clang-tools
:alt: PyPI - Downloads|latest-version| |python-test| |codecov-badge| |sonar-badge| |platfrom-badge| |pypi-badge|
.. 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 can be specified installed for increased flexibility.
- 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 clang-tools CLI
-----------------------.. tip::
It is recommended to use this package in a virtual environment... code-block:: bash
# 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/activateThis 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
.. code-block:: shell
pip install clang-tools
Install `clang-tools` from git repo
.. code-block:: shell
pip install git+https://github.com/cpp-linter/clang-tools-pip.git@main
CLI Usage
---------For a list of supported Command Line Interface options, see
`the CLI documentation `_Examples
********Use ``clang-tools`` command to install version 13 binaries.
.. code-block:: shell
clang-tools --install 13
Or install to a specified directory
.. code-block:: shell
clang-tools --install 13 --directory .
Or install a specified tool, such as clang-format and clang-query version 14.
.. code-block:: shell
clang-tools --install 14 --tool clang-format clang-query
If the installed directory is in your path, you can run the installed tools.
.. code-block:: shell
clang-format-13 --version
clang-format version 13.0.0.. code-block:: shell
clang-tidy-13 --version
LLVM (http://llvm.org/):
LLVM version 13.0.0
Optimized build.
Default target: x86_64-unknown-linux-gnu
Host CPU: skylakeSupported versions
------------------clang-format, clang-tidy, clang-query, clang-apply-replacements
***************************************************************
.. csv-table::
:header: "Version", "18", "17", "16", "15", "14", "13", "12", "11", "10", "9", "8", "7"
:stub-columns: 1Linux,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️,✔️
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.