diff options
| author | Andreas Sturmlechner <asturm@gentoo.org> | 2019-11-17 14:08:39 +0100 |
|---|---|---|
| committer | Andreas Sturmlechner <asturm@gentoo.org> | 2019-12-21 11:40:22 +0100 |
| commit | 4254dcbfdbd03a65488951dcafbff5b721aaf9c4 (patch) | |
| tree | 0510f3bbf6edd1251684e60c3fe62af2bdfc9eac /eclass | |
| parent | 7552df1dfeda6d1a0422f3cca37fe8cf953d8719 (diff) | |
| download | kde-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')
| -rw-r--r-- | eclass/cmake.eclass | 40 |
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}" |
