[libc] Add cmake target for linting libc.
authorPaula Toth <paulatoth@google.com>
Fri, 17 Apr 2020 00:40:36 +0000 (17:40 -0700)
committerPaula Toth <paulatoth@google.com>
Fri, 17 Apr 2020 00:41:03 +0000 (17:41 -0700)
commit741d3c20161ef5ebb68ede85e9f1a1150124952a
tree7e7c58e54785632cfe92368e124db02269c01006
parent77e3a2e0fe02e8bdeb8276c08c95290d9e78feba
[libc] Add cmake target for linting libc.

Summary:
This patch implements running linting on llvm-libc using build rule targets.

1) adds a new target per entrypoint for linting with the naming convention `<qualified_target_name>.__lint__` e.g `libc.src.string.strlen.__lint__`.
2) makes the build target for each entrypoint depend on the linting targets so that they run along with compilation of each entrypoint.
3) adds a lint all target named `lint-libc`.  `check-libc` now depends on this new target.
4) linting creates a lot of additional targets from clang and clang-tidy that need to be built so an opt out flag can be passed to cmake: `LLVM_LIBC_ENABLE_LINTING`.

Reviewers: sivachandra, abrachet

Reviewed By: sivachandra

Subscribers: abrachet, mgorny, tschuett, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D77861
libc/CMakeLists.txt
libc/cmake/modules/LLVMLibCRules.cmake