Как должна выглядеть среда сборки для кроссплатформенной, многоязычной библиотеки с внешними зависимостями? - PullRequest
4 голосов
/ 31 марта 2011

Я занимаюсь созданием небольшой библиотеки со следующими желаемыми требованиями:

  1. изначально собирается на 3 платформах : Linux, Windows, OS X
  2. имеет привязки для 3 динамических языков : Python, Ruby, Lua
  3. опирается на код из внешних проектов : беспорядок, каир, панго

Есть ли способ создать среду сборки, которая каким-то образом обойдет систему сборки внешних библиотек?

Наивным вариантом использования будет просто загрузить исходный код библиотеки, создать скрипт внутри исходного кода, загрузить исходный код зависимостей и, при необходимости, исправить все, а затем просто собрать все в одну команду, используя собственную среду (XCode в OS X, Visual Studio Express в Windows и GCC в Linux).

В окончательной библиотеке все зависимости должны быть статически связаны.

Какие у меня варианты? Как мне лучше всего подойти к этому? Любые учебники или полезные ссылки приветствуются.

Заранее спасибо! :)

1 Ответ

1 голос
/ 31 марта 2011

Я хотел бы взглянуть на http://jenkins -ci.org / (ранее Hudson).

Он разработан для непрерывной интеграции, но в качестве побочного эффекта имеет чрезвычайно гибкую сборкуМеханизм конфигурирования заданий, который может вызывать различные инструменты сборки.

Он также имеет концепцию подчиненных узлов и связывает определенные задания с этими узлами, поэтому вы можете собрать последовательность заданий сборки, связанных с подчиненными узлами.на соответствующих ОС, которые используют лучшие в своем роде инструменты сборки для каждого языка.

...