alliance/dev/scripts/cppcheck.sh

46 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
scriptsDir="${HOME}/alliance/dev/scripts"
cppCheckDir="${scriptsDir}/cppcheck"
tools="`cat ${scriptsDir}/tools.lst`"
# Find all include directories
toolDirs=""
for tool in ${tools}; do
toolDirs="${toolDirs} ${HOME}/alliance/alliance/src/${tool}"
done
echo "Building the include directories list..."
find ${toolDirs} -name '*.h' -exec dirname {} \; | sort | uniq > ${cppCheckDir}/alliance.incs
toolsMax="`wc -l ${scriptsDir}/tools.lst | cut -d ' ' -f1`"
toolsNb="0"
echo "$toolsMax tools to process."
for tool in ${tools}; do
toolsNb=`expr ${toolsNb} + 1`
if [ ${toolsNb} -gt ${toolsMax} ]; then exit 0; fi
toolDir="${HOME}/alliance/alliance/src/${tool}"
sources=`find ${toolDir} -name \*.h -o -name \*.c -o -name \*.hpp -o -name \*.cpp`
echo "Checking tool <${tool}>..."
cppcheck -j3 $action --enable=all \
--includes-file=${cppCheckDir}/alliance.incs \
${sources} 2>&1 \
| grep -v 'The scope of the variable .* can be reduced' \
> ${cppCheckDir}/${tool}.log
done
exit 0
# Look for missing includes.
#action="--check-config"
# Perform the actual check.
action=""
cppcheck -j3 $action --enable=all --verbose \
--includes-file=${cppCheckDir}/alliance.incs \
--file-list=${cppCheckDir}/alliance.srcs > ${cppCheckDir}/cppcheck.log 2>&1 &