我想同时启动多个ninja
版本。每个构建都在其自己的目录中,并具有自己的build.ninja
文件。
我可以做以下事情:
cd <build-dir-1>
ninja &
cd <build-dir-2>
ninja &
...
cd <build-dir-last>
ninja
....但是有一些问题:
编辑我还可以将ninja
调用保留在前台(这正是我目前正在做的事情),但是那么就没有简单的方法来估计当前的情况(整个)构建的进展是。
所以,我想做以下其中一项:
build.ninja
个文件合并到一个可以执行的大文件中
两者都构建在一个ninja
调用中。ninja
脚本启动build.ninja
。看起来ninja
不支持第二个选项,但第一个选项似乎可以使用subninja <build-dir-n>/build.ninja
轻松完成。以前有人做过这样的事吗?有任何隐藏的陷阱吗?或者,我可以按顺序执行构建(即上面的序列,但没有&
s),但这不是正确的解决方案。
我正在使用CMake
,它为每个构建配置(发布和调试)生成单独的build.ninja
文件。我也瞄准多个平台,因此我有多个编译器,并且必须为每个平台单独运行CMake。因此,如果我想为所有平台构建发布和调试代码,我需要多次运行ninja
。