Skip to content

Commit

Permalink
Integration scripts for Clang's Modernize and Tidy tool.
Browse files Browse the repository at this point in the history
New directory: `scripts/`, in which small scripts for developers reside.

- `modernize`: runs all cpp files through `clang-modernize`, respecting
  out targeted compiler versions, applying C++11 transformations, doing
  syntax checks and formatting --- in parallel.

- `tidy`: runs all cpp files through `clang-tidy`, with selected
  warnings only, since we do not want to warn on every small detail.

Please check the talk slides for `clang-tidy` linked in the references!

References:

- http://clang.llvm.org/extra/clang-tidy/
- http://llvm.org/devmtg/2014-04/PDFs/Talks/clang-tidy%20LLVM%20Euro%202014.pdf
- http://clang.llvm.org/extra/clang-tidy/checks/list.html
- #1603
  • Loading branch information
daniel-j-h committed Sep 11, 2015
1 parent 5ac0247 commit 5f0e312
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 1 deletion.
4 changes: 4 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
Checks: '-clang-analyzer-*,google-*,llvm-*,misc-*,readability-*,-google-build-explicit-make-pair,-google-explicit-constructor,-google-readability-braces-around-statements,-google-readability-casting,-google-readability-namespace-comments,-google-readability-function,-google-readability-todo,-google-runtime-int,-llvm-namespace-comment,-llvm-header-guard,-llvm-twine-local,-misc-argument-comment,-readability-braces-around-statements,-readability-identifier-naming'
...

6 changes: 6 additions & 0 deletions scripts/modernize.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash

# Runs the Clang Modernizer in parallel on the code base.
# Requires a compilation database in the build directory.

git ls-files '*.cpp' | xargs -I{} -P $(nproc) clang-modernize -p build -final-syntax-check -format -style=file -summary -for-compilers=clang-3.4,gcc-4.8 -include . -exclude third_party {}
6 changes: 6 additions & 0 deletions scripts/tidy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash

# Runs the Clang Tidy Tool in parallel on the code base.
# Requires a compilation database in the build directory.

git ls-files '*.cpp' | grep -v third_party | xargs -I{} -P $(nproc) clang-tidy -p build -header-filter='.*' {}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
OSMIUM_REPO=https://github.com/osmcode/libosmium.git
OSMIUM_TAG=v2.3.0

VARIANT_REPO=https://github.com/mapbox/variant.git
VARIANT_REPO=https://github.com/mapbox/variant.git
VARIANT_TAG=v1.0

VARIANT_LATEST=$(curl https://api.github.com/repos/mapbox/variant/releases/latest | jq ".tag_name")
Expand Down

0 comments on commit 5f0e312

Please sign in to comment.