CSCPPC(1)

πŸ“¦
version 2.2.8 Β· 3 versions
, in epel 10, epel 9, fedora 43, fedora 44

πŸ’… CSCPPC β€” like, the compiler wrapper that runs cppcheck in the background, bestie

okay so welcome to the cscppc(1) manual page, section 1 of the manual, and honestly? she's iconic. let's get into it πŸŽ€


✨ NAME ✨

cscppc β€” a compiler wrapper that runs cppcheck in background πŸ¦‹


🌸 SYNOPSIS 🌸

cscppc [--help | --print-path-to-wrap]

πŸ’– DESCRIPTION πŸ’–

okay so real talk: cscppc is a compiler wrapper that runs cppcheck in background. that's the whole vibe. ✨

the way you set her up is: you make a symbolic link to cscppc, you name that link after your compiler (gcc, g++, ...), and then you drop it into your $PATH. that's it, that's the ritual 🫢


🧚 the parameters she hands to Cppcheck by default

these are, like, automatic. she just does this:

  • -D__GNUC__
  • -D__STDC__
  • -D__i386__ [32bit architecture only]
  • -D__WORDSIZE=32 [32bit architecture only]
  • -D__x86_64__ [64bit architecture only]
  • -D__WORDSIZE=64 [64bit architecture only]
  • -D__CPPCHECK__
  • --inline-suppr
  • --quiet
  • --template="{file}:{line}: {severity}: {id}(CWE-{cwe}): {message}"
  • --suppressions-list=/usr/share/cscppc/default.supp

🌈 the parameters she passes along from the compiler's command line

so these ones she scoops up from whatever the compiler was invoked with and forwards them:

  • -D...
  • -I...

πŸ“ the file extensions she recognizes as C/C++ source files

  • c
  • C
  • cc
  • cpp
  • cxx

πŸ‘‘ activating the wrapper

if cscppc is installed on your system, this command right here activates the wrapper:

export PATH="$(cscppc --print-path-to-wrap):$PATH"

slay. that's the whole activation. go off πŸ’…


✨ OPTIONS ✨

  • --help β€” prints basic usage information. like, the short version of what you're reading rn πŸŽ€
  • --print-path-to-wrap β€” prints the path to the directory that holds the symlinks to the cscppc executable. this is the one you shove into your $PATH πŸ’œ

⭐ EXIT STATUS ⭐

cscppc propagates the exit status that the compiler returned β€” that's in the case where cscppc succeeds in running the compiler. 🫢

but the exit status returned by Cppcheck? yeah no, that one does not affect the resulting exit status. not even a little. periodt. πŸ’€


🌸 ENVIRONMENT VARIABLES 🌸

  • DEBUG_CSCPPC β€” if you set this to a non-empty string, cscppc will output the list of parameters that were given to Cppcheck, straight to standard output. cute for snooping, ngl πŸ”
  • CSCPPC_ADD_OPTS β€” cscppc expects a colon-separated list of Cppcheck options here, and she appends them to the command line prior to invoking Cppcheck. heads up tho: they get appended even if they already appear in the command line, and they are always appended at the end of the command line. so, like, no deduping, bestie πŸ™ˆ

πŸ¦‹ BUGS πŸ¦‹

please report bugs and feature requests at https://github.com/csutils/cscppc. do not suffer in silence, we wanna hear it πŸ’–


πŸ’œ AUTHOR πŸ’œ

written by Kamil Dudka.


πŸŽ€ COPYING πŸŽ€

Copyright (C) 2013-2022 Red Hat, Inc. free use of this software is granted under the terms of the GNU General Public License (GPL). see the COPYING file for details. πŸ“œ


and that's the whole page, no cap. every flag, every default, every file extension β€” all accounted for. mwah πŸ’‹

okay bye bestie, this was the cscppc(1) page, dated 06/29/2026 β€” go forth and run your wrapper, main character πŸ§šβœ¨πŸ‘‘

πŸ“¦ where this page comes from