Unknown for ninja make options lead to build fail. Reproducible: Always Steps to Reproduce: 1. MAKEOPTS="-j8 -s" 2.emerge gromacs (for example) 3. ninja: invalid option -- 's'
Created attachment 362490 [details] emerge --info
Created attachment 362492 [details] build.log
Created attachment 362494 [details] emerge --debug gromacs
@kde: While you are touching the eclass, please clean up the indentation in that ninja_src_make function as well.
Here's a function based loosely on scons_clean_makeopts from scons.eclass. It discards everything except the -j, -l, and -k options. ninjaopts_from_makeopts() { if [[ ${NINJAOPTS+set} == set ]]; then return 0 fi local ninjaopts=() set -- ${MAKEOPTS} while (( $# )); do case $1 in -j|-l|-k) ninjaopts+=( $1 $2 ) shift 2 ;; -j*|-l*|-k*) ninjaopts+=( $1 ) shift 1 ;; esac done export NINJAOPTS="${ninjaopts[*]}" }
(In reply to Mike Gilbert from comment #5) Need to add this to the case statement: *) shift ;;
I don't think anyone in KDE uses ninja, so please feel free to commit if it works for you.
(In reply to Michael Palimaka (kensington) from comment #7) > I don't think anyone in KDE uses ninja, so please feel free to commit if it > works for you. Ack please apply it if its working, nobody in KDE uses ninja.
(In reply to Johannes Huber from comment #8) > (In reply to Michael Palimaka (kensington) from comment #7) > > I don't think anyone in KDE uses ninja, so please feel free to commit if it > > works for you. > > Ack please apply it if its working, nobody in KDE uses ninja. I originally added ninja support in cmake-utils for gromacs. Changes look good to me! Looking at ninja --help: -j N run N jobs in parallel [default=6, derived from CPUs available] So -j is actually unnecessary as the default is already quite reasonable.
Thanks for weighing in. ^_^ I will try to get this committed this weekend if nobody beats me to it.
+ 25 Jan 2014; Mike Gilbert <floppym@gentoo.org> cmake-utils.eclass: + Improve support for ninja, bug 490280. +