Files
haikuports/dev-util/cppcheck/cppcheck-2.12.1.recipe
2023-10-07 12:22:51 +02:00

149 lines
5.1 KiB
Bash

SUMMARY="A static analysis tool for C/C++ code"
DESCRIPTION="Cppcheck provides unique code analysis to detect bugs and focuses on \
detecting undefined behaviour and dangerous coding constructs. The goal is \
to detect only real errors in the code (i.e. have very few false positives).
Features:
* Unique code analysis that detect various kinds of bugs in your code.
* Both command line interface and graphical user interface are available.
* Cppcheck has a strong focus on detecting undefined behaviour."
HOMEPAGE="http://cppcheck.sourceforge.io/"
COPYRIGHT="2007-2023 Cppcheck team"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://github.com/danmar/cppcheck/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="2a3d4ba1179419612183ab3d6aed6d3b18be75e98cd6f138ea8e2020905dced2"
SOURCE_FILENAME="cppcheck-$portVersion.tar.gz"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
GLOBAL_WRITABLE_FILES="
settings/cppcheck/addons/__init__.py keep-old
settings/cppcheck/addons/cppcheck.py keep-old
settings/cppcheck/addons/cppcheckdata.py keep-old
settings/cppcheck/addons/findcasts.py keep-old
settings/cppcheck/addons/misc.py keep-old
settings/cppcheck/addons/misra.py keep-old
settings/cppcheck/addons/misra_9.py keep-old
settings/cppcheck/addons/naming.py keep-old
settings/cppcheck/addons/namingng.py keep-old
settings/cppcheck/addons/runaddon.py keep-old
settings/cppcheck/addons/threadsafety.py keep-old
settings/cppcheck/addons/y2038.py keep-old
settings/cppcheck/cfg/avr.cfg keep-old
settings/cppcheck/cfg/bento4.cfg keep-old
settings/cppcheck/cfg/boost.cfg keep-old
settings/cppcheck/cfg/bsd.cfg keep-old
settings/cppcheck/cfg/cairo.cfg keep-old
settings/cppcheck/cfg/cppcheck-lib.cfg keep-old
settings/cppcheck/cfg/cppunit.cfg keep-old
settings/cppcheck/cfg/daca.cfg keep-old
settings/cppcheck/cfg/dpdk.cfg keep-old
settings/cppcheck/cfg/embedded_sql.cfg keep-old
settings/cppcheck/cfg/emscripten.cfg keep-old
settings/cppcheck/cfg/ginac.cfg keep-old
settings/cppcheck/cfg/gnu.cfg keep-old
settings/cppcheck/cfg/googletest.cfg keep-old
settings/cppcheck/cfg/gtk.cfg keep-old
settings/cppcheck/cfg/icu.cfg keep-old
settings/cppcheck/cfg/kde.cfg keep-old
settings/cppcheck/cfg/libcerror.cfg keep-old
settings/cppcheck/cfg/libcurl.cfg keep-old
settings/cppcheck/cfg/libsigc++.cfg keep-old
settings/cppcheck/cfg/lua.cfg keep-old
settings/cppcheck/cfg/mfc.cfg keep-old
settings/cppcheck/cfg/microsoft_atl.cfg keep-old
settings/cppcheck/cfg/microsoft_sal.cfg keep-old
settings/cppcheck/cfg/microsoft_unittest.cfg keep-old
settings/cppcheck/cfg/motif.cfg keep-old
settings/cppcheck/cfg/nspr.cfg keep-old
settings/cppcheck/cfg/ntl.cfg keep-old
settings/cppcheck/cfg/opencv2.cfg keep-old
settings/cppcheck/cfg/opengl.cfg keep-old
settings/cppcheck/cfg/openmp.cfg keep-old
settings/cppcheck/cfg/openssl.cfg keep-old
settings/cppcheck/cfg/pcre.cfg keep-old
settings/cppcheck/cfg/posix.cfg keep-old
settings/cppcheck/cfg/python.cfg keep-old
settings/cppcheck/cfg/qt.cfg keep-old
settings/cppcheck/cfg/ruby.cfg keep-old
settings/cppcheck/cfg/sdl.cfg keep-old
settings/cppcheck/cfg/sfml.cfg keep-old
settings/cppcheck/cfg/sqlite3.cfg keep-old
settings/cppcheck/cfg/std.cfg keep-old
settings/cppcheck/cfg/tinyxml2.cfg keep-old
settings/cppcheck/cfg/vcl.cfg keep-old
settings/cppcheck/cfg/windows.cfg keep-old
settings/cppcheck/cfg/wxsqlite3.cfg keep-old
settings/cppcheck/cfg/wxsvg.cfg keep-old
settings/cppcheck/cfg/wxwidgets.cfg keep-old
settings/cppcheck/cfg/zephyr.cfg keep-old
settings/cppcheck/cfg/zlib.cfg keep-old
settings/cppcheck/platforms/aix_ppc64.xml keep-old
settings/cppcheck/platforms/arm32-wchar_t2.xml keep-old
settings/cppcheck/platforms/arm32-wchar_t4.xml keep-old
settings/cppcheck/platforms/arm64-wchar_t2.xml keep-old
settings/cppcheck/platforms/arm64-wchar_t4.xml keep-old
settings/cppcheck/platforms/avr8.xml keep-old
settings/cppcheck/platforms/cray_sv1.xml keep-old
settings/cppcheck/platforms/elbrus-e1cp.xml keep-old
settings/cppcheck/platforms/mips32.xml keep-old
settings/cppcheck/platforms/msp430_eabi_large_datamodel.xml keep-old
settings/cppcheck/platforms/pic16.xml keep-old
settings/cppcheck/platforms/pic8-enhanced.xml keep-old
settings/cppcheck/platforms/pic8.xml keep-old
settings/cppcheck/platforms/unix32-unsigned.xml keep-old
settings/cppcheck/platforms/unix64-unsigned.xml keep-old
"
PROVIDES="
cppcheck$secondaryArchSuffix = $portVersion
cmd:cppcheck$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libpcre$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libpcre$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python3
"
defineDebugInfoPackage cppcheck$secondaryArchSuffix \
$binDir/cppcheck
BUILD()
{
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTS=ON \
-DHAVE_RULES=ON \
-DFILESDIR=$settingsDir/cppcheck \
$cmakeDirArgs
make $jobArgs
}
INSTALL()
{
cd build
make install
}
TEST()
{
cd build
make test
}