mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-11-04 10:48:20 +00:00
Merge pull request #2755 from DeusData/codex/ci-cppcheck-parallel
ci: parallelize cppcheck with isolated whole-program analysis
This commit is contained in:
1 file changed
+9
-2
+9
-2
@@ -1386,6 +1386,7 @@ LLVM_BIN := $(shell brew --prefix llvm 2>/dev/null)/bin
|
||||
CLANG_TIDY ?= $(shell [ -x "$(LLVM_BIN)/clang-tidy" ] && echo "$(LLVM_BIN)/clang-tidy" || echo clang-tidy)
|
||||
CLANG_FORMAT ?= $(shell [ -x "$(LLVM_BIN)/clang-format" ] && echo "$(LLVM_BIN)/clang-format" || echo clang-format)
|
||||
CPPCHECK ?= cppcheck
|
||||
CPPCHECK_JOBS ?= 2
|
||||
|
||||
# macOS SDK sysroot (needed for Homebrew LLVM to find system headers)
|
||||
SYSROOT = $(shell xcrun --show-sdk-path 2>/dev/null)
|
||||
@@ -1410,10 +1411,16 @@ lint-tidy:
|
||||
lint-tidy-diff:
|
||||
@scripts/lint-tidy-diff.sh "$(CLANG_TIDY)" $(LINT_SRCS) -- $(CFLAGS_COMMON) $(SYSROOT_FLAG)
|
||||
|
||||
# cppcheck: complementary analysis (config in .cppcheck)
|
||||
# cppcheck: complementary analysis (config in .cppcheck). A build directory
|
||||
# retains whole-program analysis with parallel workers; each run owns its state.
|
||||
lint-cppcheck:
|
||||
@echo "=== cppcheck ==="
|
||||
@$(CPPCHECK) --enable=warning,style,performance,portability \
|
||||
@set -e; \
|
||||
cppcheck_dir=$$(mktemp -d "$${TMPDIR:-/tmp}/cbm-cppcheck.XXXXXX"); \
|
||||
trap 'status=$$?; rm -rf "$$cppcheck_dir" || :; exit "$$status"' EXIT; \
|
||||
trap 'exit 129' HUP; trap 'exit 130' INT; trap 'exit 143' TERM; \
|
||||
$(CPPCHECK) -j$(CPPCHECK_JOBS) --cppcheck-build-dir="$$cppcheck_dir" \
|
||||
--enable=warning,style,performance,portability \
|
||||
--std=c11 --language=c \
|
||||
--suppressions-list=.cppcheck \
|
||||
--error-exitcode=1 \
|
||||
|
||||
Reference in new issue
Block a user