# https://www.progressiverobot.com
# Copyright (c) 2026 Christopher Holloway / Progressive Robot Ltd
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# What cppcheck is told not to report in the static-analysis job
# (build/ci/static-analysis.sh), one id per line, each with its reason. A finding
# that is a false positive in one place is suppressed there, in the source, with
# "// cppcheck-suppress <id>" and a comment saying why - not here.

# The system headers (the C and C++ libraries, Boost, OpenSSL, libpq, libldap) are
# not given to cppcheck: reading them would multiply the run time for findings in
# code that is not this project's. The library configurations passed with
# --library tell it what those calls do instead. This is cppcheck saying it did
# not read them, once per header.
missingIncludeSystem

# cppcheck's own summary of which checkers ran, not a finding.
checkersReport

# QuickJS, vendored under hmailserver/source/Server/quickjs. Its C is not analysed:
# static-analysis.sh leaves the directory out with -i and out of the file list, and
# clang-tidy leaves its headers out (clang-tidy.yaml, ExcludeHeaderFilterRegex). But
# -i matches source files only, so a header of it that a server file includes -
# quickjs.h, from Common/Scripting/ScriptBinding.cpp - is read with that file, and
# the QuickJS update batch42 took (6.3.6) brought a finding of upstream's code in with
# it (a cast in __js_rc). Upstream's code is upstream's to fix, and a new QuickJS is
# taken by its update, not reviewed by this job. Every id, in that directory alone.
*:*/hmailserver/source/Server/quickjs/*
