Какие альтернативы Scons?
Вопрос
У меня есть проекты в C ++, Java и Python. Проекты в C ++ Export Swig Swig Interfaces, поэтому их можно использовать проектами Java и Python.
Мой вопрос: какой механизм строительства я могу использовать для управления зависимостями и создавать эти проекты?
Я использовал Spons и Gyp. Они довольно просты в использовании и позволяют плагины (кодовые генераторы, компиляторы, упаковщики). Я хотел бы знать, есть ли альтернативы, в частности с нативной поддержкой C ++, Java и Python.
Я развиваю на платформе Linux, но я хотел бы иметь возможность построить в Mac и выиграть платформы также.
Решение
Одна перспективная альтернатива - это WAF:
Другие:
Не совсем, но очень актуально:
Другие советы
Ума
Я использую и предпочитаю его для моих проектов.
Есть также грабли (поставляется с Ruby, но можно использовать для чего-либо), что я считаю довольно высоко.
Я попытался сделать Java / C ++ / C ++ в проект Java Swig / (+ протокол буферы) в Cmake, и это было ужасно! В таком случае проблема с Cmake состоит в том, что язык сценариев чрезвычайно ограничен. Я перешел на Scons, и все было намного проще.
Для проектов Java и C ++ вы можете взглянуть на Maven + Maven-Nar-Plugin, но для Python я действительно не знаю лучшего. Может быть, другие инструменты, такие как Cmake, подойдут лучше.
В Java World Ant - «Lingua Franca» для систем сборки. Ant поддерживает задачу C ++ через Ant-And - так что вы можете компилировать код C ++. С задачей EXEC ANT вы все равно можете запустить SWIG на C ++, чтобы получить обертки. Тогда стандартные задачи, как Javac / Jar можно использовать для сборки приложений Java.