aboutsummaryrefslogtreecommitdiff
path: root/scripts/clang-tidy.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/clang-tidy.sh')
-rwxr-xr-xscripts/clang-tidy.sh91
1 files changed, 91 insertions, 0 deletions
diff --git a/scripts/clang-tidy.sh b/scripts/clang-tidy.sh
new file mode 100755
index 0000000000..053e5783c2
--- /dev/null
+++ b/scripts/clang-tidy.sh
@@ -0,0 +1,91 @@
+#!/usr/bin/env bash
+
+DIRECTORIES="./arm_compute ./src ./examples ./tests ./utils"
+
+if [ $# -eq 0 ]
+then
+ files=$(find $DIRECTORIES -type f -name \*.cpp | sort)
+else
+ files=$@
+fi
+
+SCRIPT_PATH=$(dirname $0)
+
+CLANG_TIDY=$(which clang-tidy)
+
+if [[ -z $CLANG_TIDY ]]; then
+ echo "clang-tidy not found!"
+ exit 1
+else
+ echo "Found clang-tidy:" $CLANG_TIDY
+fi
+
+CLANG_TIDY_PATH=$(dirname $CLANG_TIDY)/..
+
+ARMV7_GCC=$(which arm-linux-gnueabihf-g++)
+
+if [[ -z $ARMV7_GCC ]]; then
+ echo "arm-linux-gnueabihf-g++ not found!"
+ exit 1
+else
+ echo "Found arm-linux-gnueabihf-g++:" $ARMV7_GCC
+fi
+
+ARMV7_GCC_PATH=$(dirname $ARMV7_GCC)/..
+
+AARCH64_GCC=$(which aarch64-linux-gnu-g++)
+
+if [[ -z $AARCH64_GCC ]]; then
+ echo "aarch64-linux-gnu-g++ not found!"
+ exit 1
+else
+ echo "Found aarch64-linux-gnu-g++:" $AARCH64_GCC
+fi
+
+ARMV7_GCC_PATH=$(dirname $ARMV7_GCC)/..
+AARCH64_GCC_PATH=$(dirname $AARCH64_GCC)/..
+
+function armv7
+{
+ USE_BOOST=""
+
+ if [[ "$1" == *tests/validation* ]]
+ then
+ USE_BOOST="-DBOOST"
+ fi
+
+ $CLANG_TIDY \
+ "$1" \
+ -- \
+ -target armv7a-none-linux-gnueabihf \
+ --gcc-toolchain=$ARMV7_GCC_PATH \
+ -std=c++11 \
+ -Iinclude -I. -I3rdparty/include -Ikernels -Itests -Icomputer_vision \
+ -DARM_COMPUTE_CPP_SCHEDULER=1 $USE_BOOST
+ #read -rsp $'Press enter to continue...\n'
+}
+
+function aarch64
+{
+ USE_BOOST=""
+
+ if [[ "$1" == *tests/validation* ]]
+ then
+ USE_BOOST="-DBOOST"
+ fi
+
+ $CLANG_TIDY \
+ "$1" \
+ -- \
+ -target aarch64-none-linux-gnueabi \
+ --gcc-toolchain=$AARCH64_GCC_PATH \
+ -std=c++11 \
+ -include $SCRIPT_PATH/clang-tidy.h \
+ -Iinclude -I. -I3rdparty/include -Ikernels -Itests -Icomputer_vision \
+ -DARM_COMPUTE_ENABLE_FP16 -DARM_COMPUTE_CPP_SCHEDULER=1 $USE_BOOST
+}
+
+for f in $files; do
+ #armv7 "$f"
+ aarch64 "$f"
+done