From d8a1f1dcc7094f91e75ff5a6cd468889aea4a703 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 10 Jan 2025 11:47:32 -0500 Subject: Use cppcheck working directory This allows for better analysis, and adds a cache to improve checking times, especially on repeated runs. --- lint/meson.build | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 lint/meson.build (limited to 'lint') diff --git a/lint/meson.build b/lint/meson.build new file mode 100644 index 0000000..48e736d --- /dev/null +++ b/lint/meson.build @@ -0,0 +1,47 @@ +# Copyright 2020-2024 David Robillard +# SPDX-License-Identifier: 0BSD OR GPL-3.0-or-later + +if not meson.is_subproject() + # Check release metadata + autoship = find_program('autoship', required: false) + if autoship.found() + test( + 'autoship', + autoship, + args: ['test', patchage_src_root], + suite: 'data', + ) + endif + + # Check code with cppcheck + cppcheck = find_program('cppcheck', required: false) + if cppcheck.found() + compdb_path = join_paths(patchage_build_root, 'compile_commands.json') + suppress_path = join_paths(patchage_src_root, '.suppress.cppcheck') + test( + 'cppcheck', + cppcheck, + args: [ + '--enable=warning,style,performance,portability', + '--error-exitcode=1', + '--project=' + compdb_path, + '--suppressions-list=' + suppress_path, + '-DPATCHAGE_DISABLE_FMT_WARNINGS=', + '-q', + ], + suite: 'code', + timeout: 60, + ) + endif +endif + +# Check licensing metadata +reuse = find_program('reuse', required: false) +if reuse.found() + test( + 'REUSE', + reuse, + args: ['--root', patchage_src_root, 'lint'], + suite: 'data', + ) +endif -- cgit v1.2.1