mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
targets-tools.mk: Ongoing additions to clang-tidy-xxx targets
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
ed6e3fd70f
commit
2ea96f88a8
1 changed files with 39 additions and 8 deletions
|
|
@ -52,18 +52,49 @@ clean.link:
|
|||
rmdir -p $(dir $(HDRDIR_SCOPE_SUFFIX)) 2>/dev/null || : ;\
|
||||
fi
|
||||
|
||||
CLANG_TIDY_CHECKS ?= -*,clang-analyzer-*,-clang-analyzer-cplusplus*,modernize-*,portability-*,cppcoreguidelines-*
|
||||
CLANG_TIDY_H_C_CPP := $(shell $(ECHO) $(LOCAL_H) | xargs -r $(GREP) -l 'extern *"C"')
|
||||
CLANG_TIDY_H_C := $(wildcard [a-z]*.h)
|
||||
CLANG_TIDY_H_CPP := $(wildcard [A-Z]*.h)
|
||||
#CLANG_TIDY_H_CPP := $(filter-out $(CLANG_TIDY_H_C),$(LOCAL_H))
|
||||
|
||||
# false positives on assert(), see https://reviews.llvm.org/D31130
|
||||
CLANG_TIDY_EXTRA_ARGS += -cppcoreguidelines-pro-bounds-array-to-pointer-decay
|
||||
|
||||
# keep va_args
|
||||
CLANG_TIDY_EXTRA_ARGS += -cppcoreguidelines-pro-type-vararg
|
||||
|
||||
# keep pointer arithmetic
|
||||
CLANG_TIDY_EXTRA_ARGS += -cppcoreguidelines-pro-bounds-pointer-arithmetic
|
||||
|
||||
# don't have GSL (for now)
|
||||
CLANG_TIDY_EXTRA_ARGS += -cppcoreguidelines-pro-bounds-constant-array-index
|
||||
|
||||
CLANG_TIDY_FILTER = $(SED) 's%\[\([a-z-]\+\)\]$$%[https://clang.llvm.org/extra/clang-tidy/checks/\1.html]%'
|
||||
comma := ,
|
||||
empty :=
|
||||
space := $(empty) $(empty)
|
||||
CLANG_TIDY_CHECKS ?= -$(subst $(space),,*,clang-analyzer-*,-clang-analyzer-cplusplus*,modernize-*,portability-*,cppcoreguidelines-*$(addprefix $(comma),$(CLANG_TIDY_EXTRA_ARGS)))
|
||||
CLANG_TIDY ?= clang-tidy -checks=$(CLANG_TIDY_CHECKS)
|
||||
|
||||
clang-tidy-h:
|
||||
#$(CLANG_TIDY) $(filter-out $(LOCAL_C_HEADER),$(LOCAL_H)) -- $(INCLUDE) -x c++
|
||||
$(CLANG_TIDY) $(wildcard [A-Z]*.h) -- $(INCLUDE) -x c++
|
||||
#$(CLANG_TIDY) $(LOCAL_C_HEADER) -- $(INCLUDE)
|
||||
$(CLANG_TIDY) $(wildcard [a-z]*.h) -- $(INCLUDE)
|
||||
clean: clang-tidy-clean
|
||||
clang-tidy-clean:
|
||||
rm -f clang-tidy-cache*.tmp
|
||||
CLANG_TIDY_CACHE_CPP = clang-tidy-cache-cpp.tmp
|
||||
$(CLANG_TIDY_CACHE_CPP): $(LOCAL_CPP)
|
||||
$(CLANG_TIDY) $(LOCAL_CPP) -- $(INCLUDE) -x c++ -fix | $(CLANG_TIDY_FILTER) | tee $@
|
||||
|
||||
clang-tidy-h-c-cpp:
|
||||
$(CLANG_TIDY) $(CLANG_TIDY_H_C_CPP) -- $(INCLUDE)
|
||||
clang-tidy-h-c:
|
||||
$(CLANG_TIDY) $(CLANG_TIDY_H_C) -- $(INCLUDE)
|
||||
clang-tidy-h-cpp:
|
||||
$(CLANG_TIDY) $(CLANG_TIDY_H_CPP) -- $(INCLUDE) -x c++
|
||||
clang-tidy-h: clang-tidy-h-c clang-tidy-h-cpp clang-tidy-h-c-cpp
|
||||
|
||||
clang-tidy-c:
|
||||
$(CLANG_TIDY) $(LOCAL_C) -- $(INCLUDE) -fix
|
||||
clang-tidy-cpp:
|
||||
$(CLANG_TIDY) $(LOCAL_CPP) -- $(INCLUDE) -x c++ -fix
|
||||
clang-tidy-cpp: $(CLANG_TIDY_CACHE_CPP)
|
||||
cat $<
|
||||
clang-tidy: clang-tidy-h clang-tidy-c clang-tidy-cpp
|
||||
|
||||
endif # ifndef TARGETS_TOOLS_MK_INCLUDED
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue