# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit cmake # See https://github.com/google/cppdap/issues/113 re no release CPPDAP_COMMIT="252b56807b532533ea7362a4d949758dcb481d2b" GTEST_COMMIT="0a03480824b4fc7883255dbd2fd8940c9f81e22e" DESCRIPTION="C++ library for the Debug Adapter Protocol" HOMEPAGE="https://github.com/google/cppdap" SRC_URI="https://github.com/google/cppdap/archive/${CPPDAP_COMMIT}.tar.gz -> ${P}.tar.gz" SRC_URI+=" test? ( https://github.com/google/googletest/archive/${GTEST_COMMIT}.tar.gz -> ${PN}-gtest-${GTEST_COMMIT}.tar.gz )" S="${WORKDIR}"/${PN}-${CPPDAP_COMMIT} LICENSE="Apache-2.0" SLOT="0" KEYWORDS="amd64 arm arm64 ppc x86" IUSE="test" RESTRICT="!test? ( test )" RDEPEND="dev-cpp/nlohmann_json" DEPEND="${RDEPEND}" src_prepare() { if use test ; then rm -rf "${S}"/third_party/googletest || die ln -s "${WORKDIR}"/googletest-${GTEST_COMMIT} "${S}"/third_party/googletest || die mkdir "${S}"/third_party/googletest/.git || die fi cmake_src_prepare } src_configure() { local mycmakeargs=( # Per README, could use rapidjson or jsoncpp instead. -DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON -DCPPDAP_USE_EXTERNAL_RAPIDJSON_PACKAGE=OFF -DCPPDAP_USE_EXTERNAL_JSONCPP_PACKAGE=OFF -DCPPDAP_BUILD_TESTS=$(usex test) ) cmake_src_configure } src_test() { cd "${BUILD_DIR}" || die ./cppdap-unittests || die }