diff options
author | David Seifert <soap@gentoo.org> | 2018-07-14 17:03:00 -0700 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2018-12-10 22:54:03 +0100 |
commit | 40d24edc8aa68a8a1ce5978330513a1c07c91ab1 (patch) | |
tree | fd20034002122bf3b78cd47e38ce3cc0d6c9c8c3 /eclass | |
parent | cmake-utils.eclass: Use BDEPEND (diff) | |
download | gentoo-40d24edc8aa68a8a1ce5978330513a1c07c91ab1.tar.gz gentoo-40d24edc8aa68a8a1ce5978330513a1c07c91ab1.tar.bz2 gentoo-40d24edc8aa68a8a1ce5978330513a1c07c91ab1.zip |
cmake-utils.eclass: Make ninja default backend in EAPI >= 7
* Using the ninja backend as a default is the only way to
massively improve src_compile core utilization, given that
it seems unlikely that CMake will ever produce non-recursive
Makefiles.
See also:
http://www.kaizou.org/2016/09/build-benchmark-large-c-project/
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/cmake-utils.eclass | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass index 73e7f0b73ae6..30ee97b99a36 100644 --- a/eclass/cmake-utils.eclass +++ b/eclass/cmake-utils.eclass @@ -50,10 +50,12 @@ _CMAKE_UTILS_ECLASS=1 # Set to enable in-source build. # @ECLASS-VARIABLE: CMAKE_MAKEFILE_GENERATOR +# @DEFAULT_UNSET # @DESCRIPTION: # Specify a makefile generator to be used by cmake. # At this point only "emake" and "ninja" are supported. -: ${CMAKE_MAKEFILE_GENERATOR:=emake} +# In EAPI 7 and above, the default is set to "ninja", +# whereas in EAPIs below 7, it is set to "emake". # @ECLASS-VARIABLE: CMAKE_MIN_VERSION # @DESCRIPTION: @@ -112,7 +114,13 @@ esac inherit toolchain-funcs ninja-utils flag-o-matic multiprocessing xdg-utils case ${EAPI} in - 5|6) inherit eutils multilib ;; + [56]) + : ${CMAKE_MAKEFILE_GENERATOR:=emake} + inherit eutils multilib + ;; + *) + : ${CMAKE_MAKEFILE_GENERATOR:=ninja} + ;; esac EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install |