forked from reactivemarkets/toolbox-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcppcheck.sh.in
37 lines (36 loc) · 1.53 KB
/
cppcheck.sh.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
# The Reactive C++ Toolbox.
# Copyright (C) 2013-2019 Swirly Cloud Limited
# Copyright (C) 2020 Reactive Markets Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This wrapper script is required because the --error-exitcode option
# seems to ignore the --suppressions-list option.
#
# FIXME: cppcheck >= 1.86 complains with the following error message
# unless BOOST_AUTO_TEST_SUITE is defined:
#
# "There is an unknown macro here somewhere. Configuration is
# required. If BOOST_AUTO_TEST_SUITE is a macro then please configure
# it."
#
errors=$("@CPPCHECK@" -j @CORE_COUNT@ \
--project="@CMAKE_BINARY_DIR@/compile_commands.json" \
--quiet \
--std=c++20 \
--suppressions-list="@CMAKE_SOURCE_DIR@/etc/cppcheck-suppressions.txt" \
-DBOOST_AUTO_TEST_SUITE \
-DTOOLBOX_BENCHMARK \
-DTOOLBOX_BENCHMARK_MAIN \
2>&1 | tee /dev/stderr | wc -l)
exit $(($errors > 0))