11#! /bin/sh
22
3+ cmake_output=cmake.output
4+ selfcheck_options_extra=" $1 "
5+
6+ cppcheck_bin=./cppcheck
7+
38selfcheck_options=" -q -j$( nproc) --std=c++11 --template=selfcheck --showtime=file-total -D__GNUC__ --error-exitcode=1 --inline-suppr --suppressions-list=.selfcheck_suppressions --library=gnu --inconclusive --enable=style,performance,portability,warning,missingInclude,information --exception-handling --debug-warnings --check-level=exhaustive"
9+ selfcheck_options=" $selfcheck_options $selfcheck_options_extra "
410cppcheck_options=" -D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2"
5- gui_options =" -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB - DQT_MOC_HAS_STRINGDATA --library=qt "
11+ qt_options =" --library=qt - DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_MOC_HAS_STRINGDATA" # TODO: use 69 as revision
612naming_options=" --addon-python=$( command -v python) --addon=naming.json"
713
8- if [ -n " $1 " ]; then
9- selfcheck_options=" $selfcheck_options $1 "
10- fi
11-
1214mkdir_cmd=$( command -v mkdir)
1315rm_cmd=$( command -v rm)
1416
@@ -17,21 +19,51 @@ export PATH=
1719
1820ec=0
1921
20- # self check externals
21- ./cppcheck $selfcheck_options externals || ec=1
22- # self check lib/cli
22+ $cppcheck_bin $selfcheck_options \
23+ externals \
24+ || ec=1
25+
2326$mkdir_cmd b1
24- ./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 $naming_options frontend || ec=1
25- ./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 $naming_options -Ifrontend cli || ec=1
26- ./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 $naming_options --enable=internal lib || ec=1
27- # check gui with qt settings
27+
28+ $cppcheck_bin $selfcheck_options $cppcheck_options $naming_options \
29+ --cppcheck-build-dir=b1 \
30+ frontend \
31+ || ec=1
32+
33+ $cppcheck_bin $selfcheck_options $cppcheck_options $naming_options \
34+ --cppcheck-build-dir=b1 \
35+ -Ifrontend \
36+ cli \
37+ || ec=1
38+
39+ $cppcheck_bin $selfcheck_options $cppcheck_options $naming_options \
40+ --cppcheck-build-dir=b1 --enable=internal \
41+ lib \
42+ || ec=1
43+
2844$mkdir_cmd b2
29- ./cppcheck $selfcheck_options $cppcheck_options $gui_options --cppcheck-build-dir=b2 $naming_options -Icmake.output/gui -Ifrontend -Igui gui/* .cpp cmake.output/gui || ec=1
30- # self check test and tools
31- ./cppcheck $selfcheck_options $cppcheck_options -Ifrontend -Icli test/* .cpp || ec=1
32- ./cppcheck $selfcheck_options $cppcheck_options -Icli tools/dmake/* .cpp || ec=1
33- # triage
34- ./cppcheck $selfcheck_options $cppcheck_options $gui_options -Icmake.output/tools/triage -Igui tools/triage/* .cpp cmake.output/tools/triage || ec=1
45+
46+ $cppcheck_bin $selfcheck_options $cppcheck_options $naming_options $qt_options \
47+ --cppcheck-build-dir=b2 \
48+ -DQT_CHARTS_LIB \
49+ -I$cmake_output /gui -Ifrontend -Igui \
50+ gui/* .cpp $cmake_output /gui \
51+ || ec=1
52+
53+ $cppcheck_bin $selfcheck_options $cppcheck_options \
54+ -Ifrontend -Icli \
55+ test/* .cpp \
56+ || ec=1
57+
58+ $cppcheck_bin $selfcheck_options $cppcheck_options \
59+ -Icli \
60+ tools/dmake/* .cpp \
61+ || ec=1
62+
63+ $cppcheck_bin $selfcheck_options $cppcheck_options $qt_options \
64+ -I$cmake_output /tools/triage -Igui \
65+ tools/triage/* .cpp $cmake_output /tools/triage \
66+ || ec=1
3567
3668$rm_cmd -rf b2
3769$rm_cmd -rf b1
0 commit comments