| # Copyright 1999-2018 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=6 |
| inherit cmake-multilib |
| |
| if [[ ${PV} == 9999 ]]; then |
| inherit git-r3 |
| EGIT_REPO_URI="https://github.com/${PN}/${PN}-c.git" |
| else |
| SRC_URI="https://github.com/${PN}/${PN}-c/releases/download/cpp-${PV}/${P}.tar.gz" |
| KEYWORDS="*" |
| fi |
| |
| DESCRIPTION="MessagePack is a binary-based efficient data interchange format" |
| HOMEPAGE="https://msgpack.org/ https://github.com/msgpack/msgpack-c/" |
| |
| LICENSE="Boost-1.0" |
| SLOT="0/2" |
| IUSE="boost +cxx doc examples static-libs test" |
| |
| RDEPEND="boost? ( dev-libs/boost[context,${MULTILIB_USEDEP}] )" |
| DEPEND="${RDEPEND} |
| test? ( |
| >=dev-cpp/gtest-1.6.0-r2[${MULTILIB_USEDEP}] |
| sys-libs/zlib[${MULTILIB_USEDEP}] |
| ) |
| doc? ( app-doc/doxygen[dot] ) |
| " |
| |
| src_configure() { |
| local mycmakeargs=( |
| -DMSGPACK_BOOST="$(usex boost)" |
| -DMSGPACK_ENABLE_CXX="$(usex cxx)" |
| -DMSGPACK_ENABLE_STATIC="$(usex static-libs)" |
| -DMSGPACK_BUILD_TESTS="$(usex test)" |
| # don't build the examples |
| -DMSGPACK_BUILD_EXAMPLES=OFF |
| # enable C++11 by default |
| -DMSGPACK_CXX11=ON |
| ) |
| cmake-multilib_src_configure |
| } |
| |
| multilib_src_compile() { |
| cmake-utils_src_compile |
| |
| if multilib_is_native_abi && use doc; then |
| cmake-utils_src_make doxygen |
| fi |
| } |
| |
| multilib_src_install() { |
| if multilib_is_native_abi; then |
| if use doc; then |
| local HTML_DOCS=( "${BUILD_DIR}"/docs/. ) |
| |
| mkdir docs || die |
| mv doc_c/html docs/c || die |
| |
| use cxx && mv doc_cpp/html docs/cpp || die |
| fi |
| |
| if use examples; then |
| docinto examples |
| |
| dodoc -r "${WORKDIR}/${P}/example/." |
| |
| docompress -x /usr/share/doc/${PF}/examples |
| fi |
| fi |
| |
| cmake-utils_src_install |
| } |