summaryrefslogtreecommitdiff
path: root/eclass/cmake.eclass
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2019-11-17 14:08:39 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2019-12-21 11:40:22 +0100
commit4254dcbfdbd03a65488951dcafbff5b721aaf9c4 (patch)
tree0510f3bbf6edd1251684e60c3fe62af2bdfc9eac /eclass/cmake.eclass
parent7552df1dfeda6d1a0422f3cca37fe8cf953d8719 (diff)
downloadkde-4254dcbfdbd03a65488951dcafbff5b721aaf9c4.tar.gz
kde-4254dcbfdbd03a65488951dcafbff5b721aaf9c4.tar.bz2
kde-4254dcbfdbd03a65488951dcafbff5b721aaf9c4.zip
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@gentoo.org>
Diffstat (limited to 'eclass/cmake.eclass')
-rw-r--r--eclass/cmake.eclass40
1 files changed, 14 insertions, 26 deletions
diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass
index af8ca6faa56..ca23bf452cf 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}"