Skip to content

Commit

Permalink
Put clang-tidy into thin wrapper script
Browse files Browse the repository at this point in the history
Otherwise we are not able to use the shell to dynamically get things
  • Loading branch information
tmadlener committed Jul 31, 2024
1 parent f79a5d5 commit 4723560
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
19 changes: 19 additions & 0 deletions .github/scripts/clang-tidy-hook
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/usr/bin/env bash

# Thin wrapper around clang-tidy that we need to make sure that we can pass the
# include directories for SIO to clang-tidy as it seems that it's not always
# present in the compile database that is generated by CMake. This is mainly
# necessary for template heavy header only parts that get included and for which
# clang-tidy runs into a clang-diagnostic-error because it cannot find an SIO
# header. We cannot do this in the pre-commit configuration because we cannot do
# any shell expansion there.

# Safe guard against environments where we do not have SIO available. The
# clang-tidy checks will probably fail, but at least we are not getting problems
# with passing garbage as extra arguments
EXTRA_ARGS=""
if which sio-dump > /dev/null 2>&1; then
EXTRA_ARGS="--extra-arg=-I$(realpath $(dirname $(which sio-dump))/../include)"
fi

clang-tidy -warnings-as-errors='*,-clang-diagnostic-deprecated-declarations' -p compile_commands.json $EXTRA_ARGS ${@}
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ repos:
hooks:
- id: clang-tidy
name: clang-tidy
entry: clang-tidy -warnings-as-errors='*,-clang-diagnostic-deprecated-declarations' -p compile_commands.json --extra-arg=-I$(realpath $(dirname $(which sio-dump))/../include)
entry: .github/scripts/clang-tidy-hook
types: [c++]
exclude: (tests/(datamodel|src|extra_code)/.*(h|cc)|podioVersion.in.h)
language: system
Expand Down

0 comments on commit 4723560

Please sign in to comment.