有时候我想一次建立多个目标:
$ ninja A B C D -j10
其中某些目标可能无法建立。有什么我可以的吗?
以下方法将起作用,但我认为应该有一种更有效的方法:
for target in A B C D; do
if ! ninja ${target} -j10 >/dev/null 2>/dev/null; then
echo "${target} failed"
fi
done
答案 0 :(得分:1)
偶然发现,因为我有同样的问题。
有什么我可以成功构建的东西,可以成功构建的[...]
是的,就像在make
中一样,您可以提供-k
选项。
-k N keep going until N jobs fail [default=1]
继续构建,直到所有任务完成或失败:
ninja -k 0
在知道目标失败的情况下将其组合为标准FAILED: <target_name>
:
ninja -k0 | grep FAILED > failed_targets.log