diff options
-rw-r--r-- | .clang-tidy | 1 | ||||
-rw-r--r-- | Makefile | 1 | ||||
-rwxr-xr-x | scripts/clang-tidy.sh | 19 | ||||
-rw-r--r-- | scripts/main.mk | 14 |
4 files changed, 32 insertions, 3 deletions
diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000000..b32f768630 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1 @@ +Checks: '-clang-analyzer-security.insecureAPI.rand' @@ -69,6 +69,7 @@ run-valgrind-linux: linux # Generates a compilation database with ninja for use in clang tooling compdb: ; $(RUN) Ninja/compdb +tidy: ; $(RUN) tidy .PHONY: android android-lib # Builds a particular android architecture. diff --git a/scripts/clang-tidy.sh b/scripts/clang-tidy.sh new file mode 100755 index 0000000000..a0a0aa20e4 --- /dev/null +++ b/scripts/clang-tidy.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail + +export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason" + +command -v ${CLANG_TIDY:-clang-tidy} >/dev/null 2>&1 || { + echo "Can't find ${CLANG_TIDY:-clang-tidy} in PATH." + if [ -z ${CLANG_TIDY} ]; then + echo "Alternatively, you can set CLANG_TIDY to point to clang-tidy." + fi + exit 1 +} + +cd build/${HOST}-${HOST_VERSION}/${BUILDTYPE} + +git ls-files '../../../src/mbgl/*.cpp' '../../../platform/*.cpp' '../../../test/*.cpp' | \ + xargs -I{} -P ${JOBS} ${CLANG_TIDY:-clang-tidy} -header-filter='\/mbgl\/' {} diff --git a/scripts/main.mk b/scripts/main.mk index 8df100decc..eab78ef626 100644 --- a/scripts/main.mk +++ b/scripts/main.mk @@ -3,12 +3,12 @@ ifeq (,$(V)) endif # Determine host platform -HOST ?= $(BUILD) +export HOST ?= $(BUILD) # Defines host defaults include scripts/$(HOST)/defaults.mk -HOST_VERSION ?= $(BUILD_VERSION) +export HOST_VERSION ?= $(BUILD_VERSION) # Optionally include version-specific host defaults -include scripts/$(HOST)/$(HOST_VERSION)/defaults.mk @@ -20,7 +20,7 @@ ifneq (,$(wildcard scripts/$(HOST)/$(HOST_VERSION)/configure.sh)) CONFIGURE_FILES += scripts/$(HOST)/$(HOST_VERSION)/configure.sh endif -HOST_SLUG = $(HOST)-$(HOST_VERSION) +export HOST_SLUG = $(HOST)-$(HOST_VERSION) CONFIGURE_FILES = scripts/$(HOST)/configure.sh ifneq (,$(wildcard scripts/$(HOST)/$(HOST_VERSION)/configure.sh)) CONFIGURE_FILES += scripts/$(HOST)/$(HOST_VERSION)/configure.sh @@ -153,6 +153,14 @@ Ninja/compdb: Ninja/__project__ $(QUIET)$(ENV) deps/ninja/ninja-$(HOST) -C build/$(HOST_SLUG)/$(BUILDTYPE) \ -t compdb cc cc_s cxx objc objcxx > $(OUTPUT) +#### Tidy ###################################################################### + +tidy: Ninja/compdb + @printf "$(TEXT_BOLD)$(COLOR_GREEN)* Generating header files...$(FORMAT_END)\n" + $(QUIET)$(ENV) deps/ninja/ninja-$(HOST) -C build/$(HOST_SLUG)/$(BUILDTYPE) version shaders + @printf "$(TEXT_BOLD)$(COLOR_GREEN)* Running tidy...$(FORMAT_END)\n" + @./scripts/clang-tidy.sh + #### Run tests ################################################################# test-%: Makefile/test |