cmake.eclass: Support dev-util/samurai

samurai is a ninja-compatible build tool written in C which
works with cmake, meson and other users of ninja.

It is feature-complete and supports most of the same options
as ninja.

Signed-off-by: orbea <orbea@riseup.net>
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
orbea
2021-04-09 11:43:53 -07:00
committed by Sam James
parent 0a7cea7a4d
commit 759cec8524

View File

@@ -136,7 +136,7 @@ case ${CMAKE_MAKEFILE_GENERATOR} in
BDEPEND="sys-devel/make"
;;
ninja)
BDEPEND="dev-util/ninja"
BDEPEND="${NINJA_DEPEND}"
;;
*)
eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}"
@@ -363,13 +363,6 @@ cmake_src_prepare() {
die "FATAL: Unable to find CMakeLists.txt"
fi
# if ninja is enabled but not installed, the build could fail
# this could happen if ninja is manually enabled (eg. make.conf) but not installed
if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]] && ! has_version -b dev-util/ninja; then
eerror "CMAKE_MAKEFILE_GENERATOR is set to ninja, but ninja is not installed."
die "Please install dev-util/ninja or unset CMAKE_MAKEFILE_GENERATOR."
fi
local modules_list
if [[ ${EAPI} == 7 && $(declare -p CMAKE_REMOVE_MODULES_LIST) != "declare -a"* ]]; then
modules_list=( ${CMAKE_REMOVE_MODULES_LIST} )
@@ -705,11 +698,7 @@ cmake_src_test() {
cmake_src_install() {
debug-print-function ${FUNCNAME} "$@"
_cmake_check_build_dir
pushd "${BUILD_DIR}" > /dev/null || die
DESTDIR="${D}" ${CMAKE_MAKEFILE_GENERATOR} install "$@" ||
die "died running ${CMAKE_MAKEFILE_GENERATOR} install"
popd > /dev/null || die
DESTDIR="${D}" cmake_build install "$@"
if [[ ${EAPI} == 7 ]]; then
pushd "${S}" > /dev/null || die