[build] add make target "tidy" for running clang-tidy
This commit is contained in:
1
.clang-tidy
Normal file
1
.clang-tidy
Normal file
@@ -0,0 +1 @@
|
||||
Checks: '-clang-analyzer-security.insecureAPI.rand'
|
||||
1
Makefile
1
Makefile
@@ -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
19
scripts/clang-tidy.sh
Executable 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\/' {}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user