commit:     583a1bead82e2a20d396c425a2d74b7b8f9b93a9
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 28 18:42:18 2016 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Thu May 26 08:12:49 2016 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=583a1bea

cmake-utils.eclass: _ninjaopts_from_makeopts, fix plain '-j' and '-l'

Fix the _ninjaopts_from_makeopts to handle no-parameter '-j' and '-l'
options correctly and convert them to appropriate parametrized ninja
options.

 eclass/cmake-utils.eclass | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/eclass/cmake-utils.eclass b/eclass/cmake-utils.eclass
index d035e04..02b06bb 100644
--- a/eclass/cmake-utils.eclass
+++ b/eclass/cmake-utils.eclass
@@ -660,8 +660,19 @@ _ninjaopts_from_makeopts() {
        while (( $# )); do
                case $1 in
                        -j|-l)
-                               ninjaopts+=( $1 $2 )
-                               shift 2
+                               if [[ $# -eq 1 || $2 == -* ]]; then
+                                       if [[ $1 == -j ]]; then
+                                               # absurdly high job limit
+                                               ninjaopts+=( $1 9999 )
+                                       else # -l
+                                               # remove load limit (like make 
does for -l)
+                                               ninjaopts+=( $1 0 )
+                                       fi
+                                       shift 1
+                               else
+                                       ninjaopts+=( $1 $2 )
+                                       shift 2
+                               fi
                                ;;
                        -j*|-l*)
                                ninjaopts+=( $1 )

Reply via email to