# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 DISTUTILS_USE_SETUPTOOLS=manual PYTHON_COMPAT=( python3_{8..10} ) inherit distutils-r1 cmake DESCRIPTION="Static analyzer of C/C++ code" HOMEPAGE="https://github.com/danmar/cppcheck" SRC_URI="https://github.com/danmar/cppcheck/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~sparc ~x86" IUSE="htmlreport pcre qt5 test" RESTRICT="!test? ( test )" RDEPEND=" dev-libs/tinyxml2:= htmlreport? ( dev-python/pygments[${PYTHON_USEDEP}] dev-python/setuptools[${PYTHON_USEDEP}] ) pcre? ( dev-libs/libpcre ) qt5? ( dev-qt/qtcore:5 dev-qt/qtgui:5 dev-qt/qthelp dev-qt/qtprintsupport:5 ) " DEPEND="${RDEPEND}" BDEPEND=" app-text/docbook-xsl-stylesheets dev-libs/libxslt virtual/pkgconfig qt5? ( dev-qt/linguist-tools:5 ) test? ( htmlreport? ( dev-python/unittest-or-fail[${PYTHON_USEDEP}] ) ) " src_prepare() { cmake_src_prepare } src_configure() { local mycmakeargs=( -DHAVE_RULES="$(usex pcre)" -DBUILD_GUI="$(usex qt5)" -DFILESDIR="${EPREFIX}/usr/share/${PN}/" -DENABLE_OSS_FUZZ=OFF -DUSE_BUNDLED_TINYXML2=OFF -DBUILD_TESTS="$(usex test)" ) cmake_src_configure } src_compile() { cmake_src_compile if use htmlreport ; then pushd htmlreport || die distutils-r1_src_compile popd || die fi } src_test() { cmake_src_test # TODO: Needs some hackery to find the right binary #if use htmlreport ; then # distutils-r1_src_test #fi } python_test() { pushd htmlreport || die eunittest popd || die } src_install() { cmake_src_install insinto "/usr/share/${PN}/cfg" doins cfg/*.cfg if use qt5 ; then dobin "${WORKDIR}/${P}_build/bin/${PN}-gui" dodoc gui/{projectfile.txt,gui.${PN}} fi if use htmlreport ; then pushd htmlreport || die distutils-r1_src_install popd || die fi dodoc -r tools/triage }