Всем привет. Прошу помочь с вопросом из серии «а как лучше сделать».
Предположим, при разработке используется большая библиотека. Например, буст. В приложении используется только малая часть библиотеки. Отказаться от ее использования и перейти на что-нибудь другое не представляется возможным (например, ввиду корпоративных соглашений).
Сейчас рассматриваем три варианта организации структуры проектов.
1. Библиотека устанавливается на локальный компьютер, отдельно. Недостаток - придется тащить на каждый компьютер сотни метров заголовков и библиотек, причем использоваться будет только малая ее часть.
2. Слить в репозитарий всю библиотеку, подключать например с помощью svn:externals. Скорее всего, придется опять-таки тащить всю библиотеку при экспорте. Зато не придется устанавливать ее отдельно на каждую машину.
3. Раздраконить библиотеку, выдрать нужную часть и только ее положить в репозитарий.
1. хорош легкостью поддержки. aptitude dist-upgrade обновит все стандартные библиотеки, никаких лишних телодвижений. Но отдельная установка на все компьютеры разработчиков... не очень нравится.
3. плох (ИМХО) возможной сложностью перехода на новые версии. Да и если потребуется использовать дополнительные части библиотеки... придется заново раздирать библиотеку.
2. вообще практически со всех сторон плох :)
Собственно, кто что посоветует в данном случае?