orocos_kdl-9999.ebuild

Download (1.7 KB)

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit cmake

DESCRIPTION="Kinematics and Dynamics Library (KDL)"
HOMEPAGE="https://www.orocos.org/kdl"

if [[ ${PV} = *9999 ]]; then
	inherit git-r3
	EGIT_REPO_URI="https://github.com/orocos/orocos_kinematics_dynamics"
	S="${WORKDIR}/${P}/${PN}"
else
	SRC_URI="https://github.com/orocos/orocos_kinematics_dynamics/archive/v${PV}.tar.gz -> orocos_kinematics_dynamics-${PV}.tar.gz"
	KEYWORDS="~amd64 ~arm ~x86"
	S="${WORKDIR}/orocos_kinematics_dynamics-${PV}/${PN}"
fi

LICENSE="LGPL-2.1"
SLOT="0/14"
IUSE="doc examples models test"
REQUIRED_USE="examples? ( models )"
RESTRICT="!test? ( test )"

RDEPEND="dev-cpp/eigen:3"
DEPEND="${RDEPEND}"
BDEPEND="
	doc? ( app-doc/doxygen[dot] )
	test? ( dev-util/cppunit )
"

PATCHES=(
	"${FILESDIR}"/${PN}-1.4.0-0001-don-t-install-kdl.tag-file.patch
)

src_configure() {
	local mycmakeargs=(
		-DBUILD_MODELS=$(usex models ON OFF)
		-DENABLE_EXAMPLES=$(usex examples)
		-DENABLE_TESTS=$(usex test)
	)
	if use examples; then
		mycmakeargs+=(
			-DBUILD_MODELS_DEMO=ON
		)
	fi
	cmake_src_configure
}

src_compile() {
	cmake_src_compile
	if use doc; then
		cmake_build docs
		rm "${BUILD_DIR}/doc/kdl.tag" || die
	fi
}

src_test() {
	pushd "${BUILD_DIR}" > /dev/null || die
	eninja check
	popd > /dev/null || die
}

src_install() {
	use doc && local HTML_DOCS=( "${BUILD_DIR}/doc/api/html/." )
	cmake_src_install

	if use examples; then
		docompress -x /usr/share/doc/${PF}/examples
		docinto examples
		dodoc -r "${S}"/examples/.
	fi

	# Need to have package.xml in our custom gentoo path
	insinto /usr/share/ros_packages/${PN}
	doins "${S}/package.xml"
}

Thank you!