Наш проект стал довольно большим, и наша система сборки больше не масштабируется. Мы занимаемся кроссплатформенной разработкой на Linux-машинах. У нас слишком много платформ для сборки и еще больше вариантов сборки. Мы считаем, что нам нужно обновить нашу среду сборки на основе Makefile.
Это требования (в идеальном мире):
- Быстро (поэтому нет libtool)
- Может делать параллельные сборки
- Подходит для кросс-компиляции
- Интеграция с кэшем
- Делает инкрементные сборки и может замыкаться, если выполняются определенные условия (короткое замыкание, если параметры a, b, c не изменились, пересобирать, если они изменились)
- Легко программируется (интеграция с Python была бы идеальной)
- Удобный синтаксис
- Распределенная система. Модули можно разрабатывать отдельно друг от друга
- Может создавать сторонние библиотеки (использующие autotools, cmake ..)
- Может отслеживать зависимости между модулями (но достаточно гибкий, чтобы модули можно было заменить альтернативными внешними).
- встроенная поддержка модульного тестирования
- Большие двоичные файлы могут храниться отдельно от системы контроля версий и при необходимости могут быть загружены.
- Может отслеживать лицензии с открытым исходным кодом
- интеграция с git
Известны ли вам какие-либо инструменты (или группы инструментов), которые удовлетворяли бы (по крайней мере, некоторым из них) этим требованиям? В настоящее время я склоняюсь к гип+ниндзя. Но синтаксис не очень дружелюбный и документации нет. Так что это трудно продать.