commit: 4254dcbfdbd03a65488951dcafbff5b721aaf9c4
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 17 13:08:39 2019 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Dec 21 10:40:22 2019 +0000
URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=4254dcbf
cmake.eclass: Drop _cmake_generator_to_use()
CMAKE_MAKEFILE_GENERATOR validity is already checked in global scope.
Move the check for dev-util/ninja into src_prepare.
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
eclass/cmake.eclass | 40 ++++++++++++++--------------------------
1 file changed, 14 insertions(+), 26 deletions(-)
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index af8ca6faa5..ca23bf452c 100644
--- a/eclass/cmake.eclass
+++ b/eclass/cmake.eclass
@@ -146,31 +146,6 @@ _cmake_check_build_dir() {
einfo "Working in BUILD_DIR: \"$BUILD_DIR\""
}
-# Determine which generator to use
-_cmake_generator_to_use() {
- local generator_name
-
- case ${CMAKE_MAKEFILE_GENERATOR} in
- ninja)
- # 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 ! has_version -b dev-util/ninja; then
- die "CMAKE_MAKEFILE_GENERATOR is set to ninja,
but ninja is not installed. Please install dev-util/ninja or unset
CMAKE_MAKEFILE_GENERATOR."
- fi
- generator_name="Ninja"
- ;;
- emake)
- generator_name="Unix Makefiles"
- ;;
- *)
- eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}"
- die "Value ${CMAKE_MAKEFILE_GENERATOR} is not supported"
- ;;
- esac
-
- echo ${generator_name}
-}
-
# @FUNCTION: cmake_comment_add_subdirectory
# @USAGE: <subdirectory>
# @DESCRIPTION:
@@ -329,6 +304,13 @@ 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 [[ $(declare -p CMAKE_REMOVE_MODULES_LIST) == "declare -a"* ]]; then
modules_list=( "${CMAKE_REMOVE_MODULES_LIST[@]}" )
@@ -524,13 +506,19 @@ cmake_src_configure() {
warn_unused_cli="--no-warn-unused-cli"
fi
+ local generator_name
+ case ${CMAKE_MAKEFILE_GENERATOR} in
+ ninja) generator_name="Ninja" ;;
+ emake) generator_name="Unix Makefiles" ;;
+ esac
+
# Common configure parameters (overridable)
# NOTE CMAKE_BUILD_TYPE can be only overridden via CMAKE_BUILD_TYPE
eclass variable
# No -DCMAKE_BUILD_TYPE=xxx definitions will be in effect.
local cmakeargs=(
${warn_unused_cli}
-C "${common_config}"
- -G "$(_cmake_generator_to_use)"
+ -G "${generator_name}"
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
"${mycmakeargs_local[@]}"
-DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"