Я хотел бы запустить несколько 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
многократно.
Задача ещё не решена.