From e4b6d2df6a0e5da1d7b50cb64308882efa483afc Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Wed, 20 May 2026 18:06:51 +0200 Subject: [PATCH] build: corregir cppcheck del pre-commit (path relatiu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Amb -I "\$REPO_ROOT/source" (path absolut), cppcheck no resolia bé el i emetia un syntaxError fals sobre les capçaleres del tipus "enum class X : std::uint8_t {" (afecta scene_context.hpp i d'altres que tenen enums tipats). El bug estava latent des del commit c45e524 ("clang-tidy --fix mecánico (... enum size)"), que va afegir els underlying-types als enums. Cap commit posterior va tocar fitxers que els inclogueren, així que ningú l'havia activat fins ara. Resolt amb path relatiu (els git hooks corren sempre des del repo root, així que "source" és suficient). Co-Authored-By: Claude Opus 4.7 (1M context) --- .githooks/pre-commit | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.githooks/pre-commit b/.githooks/pre-commit index fe14911..fa0ea76 100755 --- a/.githooks/pre-commit +++ b/.githooks/pre-commit @@ -71,6 +71,10 @@ if [ ${#CPP_STAGED[@]} -eq 0 ]; then fi echo "pre-commit: cppcheck sobre ${#CPP_STAGED[@]} fitxer(s)..." >&2 +# Nota: el path d'inclusió ha d'anar en relatiu. Amb path absolut, cppcheck +# falla a parsejar "enum class X : std::uint8_t" (no resol bé) i +# emet un syntaxError fals. Els hooks de git s'executen sempre des de la +# rel del repo, així que "source" relatiu és prou. if ! cppcheck \ --enable=warning,style,performance,portability \ --std=c++20 \ @@ -85,7 +89,7 @@ if ! cppcheck \ -DLINUX_BUILD \ --quiet \ --error-exitcode=1 \ - -I "$REPO_ROOT/source" \ + -I source \ "${CPP_STAGED[@]}"; then echo "pre-commit: cppcheck ha trobat errors — commit avortat" >&2 exit 1