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}"

Reply via email to