dev-cpp/cpp-utilities - 5.30.0 (jm-overlay)

Search

Install

Install this version:

emerge -a =dev-cpp/cpp-utilities-5.30.0

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =dev-cpp/cpp-utilities-5.30.0

Or alternatively:

emerge --autounmask-write -a =dev-cpp/cpp-utilities-5.30.0

Package Information

Description:
Common C++ classes and routines
Homepage:
https://github.com/Martchus/cpp-utilities
License:
GPL-2

Ebuild Details

Version EAPI Keywords Slot
5.30.0 8 ~amd64 ~x86 0
View Raw Ebuild
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

CMAKE_ECLASS=cmake
inherit cmake-multilib multibuild

DESCRIPTION="Common C++ classes and routines"
HOMEPAGE="https://github.com/Martchus/cpp-utilities"
SRC_URI="https://github.com/Martchus/cpp-utilities/archive/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="static-libs test doc"

RDEPEND=""
DEPEND="${RDEPEND}
	test? ( dev-util/cppunit[${MULTILIB_USEDEP}] )"
BDEPEND="doc? ( app-text/doxygen )"

multilib_src_configure() {
	myconfig() {
		local mycmakeargs=(
			-DAPPEND_GIT_REVISION=OFF
			-DNO_DOXYGEN=OFF
		)
		if [[ ${MULTIBUILD_VARIANT} = static-libs ]]; then
			mycmakeargs+=( -DBUILD_SHARED_LIBS=OFF )
		else
			mycmakeargs+=( -DBUILD_SHARED_LIBS=ON )
		fi
		cmake_src_configure
	}
	MULTIBUILD_VARIANTS=($(usev static-libs) shared)
	multibuild_foreach_variant myconfig
}

multilib_src_compile() {
	mycompile() {
		cmake_src_compile
		if [[ ${MULTIBUILD_VARIANT} = shared ]]; then
			use doc && multilib_is_native_abi && cmake_src_compile apidoc
		fi
	}
	MULTIBUILD_VARIANTS=($(usev static-libs) shared)
	multibuild_foreach_variant mycompile
}

multilib_src_install() {
	myinstall() {
		cmake_src_install
		if [[ ${MULTIBUILD_VARIANT} = shared ]]; then
			use doc && multilib_is_native_abi && dodoc -r "${BUILD_DIR}/api-doc/html"
		fi
	}
	MULTIBUILD_VARIANTS=($(usev static-libs) shared)
	multibuild_foreach_variant myinstall
}

src_install() {
	cmake-multilib_src_install
	rm -rf "${ED}/usr/share/c++utilities/api-doc"
}

multilib_src_test() {
	MULTIBUILD_VARIANTS=($(usev static-libs) shared)
	multibuild_foreach_variant cmake_src_compile check
}

USE Flags

Manage flags for this package: euse -i <flag> -p dev-cpp/cpp-utilities | euse -E <flag> -p dev-cpp/cpp-utilities | euse -D <flag> -p dev-cpp/cpp-utilities

Global/Standard Flags

doc

Inherited Eclasses

Dependencies

DEPEND

	test? ( dev-util/cppunit[] )

BDEPEND

doc? ( app-text/doxygen )

Manifest for 5.30.0

Type File Size Source URLs
DIST cpp-utilities-5.30.0.tar.gz 212934 bytes https://github.com/Martchus/cpp-utilities/archive/v5.30.0.tar.gz