Это может не работать с изображениями, видео и файлами XML, но мы храним сторонние библиотеки в отдельном SVN-репозитории, где все в стволе. Отлично работает.
Разработчики могут проверить его на своих локальных компьютерах или получить нужные им файлы во время компиляции по сети. Мы изменили наши файлы проекта Visual Studio так, чтобы они указывали на локальную переменную среды, которая связывает двоичные файлы в SDK с тем местом, где они находятся.
Предполагая, что файлы находятся в локальной рабочей копии с именем OURSDK, переменная среды будет иметь вид:
>set OURSDK
OURSDK=C:\Source\OURSDK
Затем мы изменили наши файлы проектов C # и C ++, чтобы использовать эти макросы вместо относительных путей:
AdditionalIncludeDirectories=""$(OURSDK)\log4cxx\src\main\include"$(OURSDK)\xerces-c\include";"$(OURSDK)\TSE-RegExp\Include""
Таким образом, мы поддерживаем три версии нашего продукта, и связывание со сторонними библиотеками почти никогда не является проблемой. Единственный минус в том, что репо фактически «только для записи», куда входят и остаются библиотеки, поэтому со временем оно постепенно увеличивается. Оно того стоит. :)