[build] add make target "tidy" for running clang-tidy

This commit is contained in:
Konstantin Käfer
2015-12-01 16:34:09 +01:00
parent 678a5ca91e
commit 0c8eeea665
4 changed files with 32 additions and 3 deletions

1
.clang-tidy Normal file
View File

@@ -0,0 +1 @@
Checks: '-clang-analyzer-security.insecureAPI.rand'

View File

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

19
scripts/clang-tidy.sh Executable file
View File

@@ -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\/' {}

View File

@@ -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