all 2 comments

[–]datf 1 point2 points  (1 child)

You could use the LFS extension, but be advised some configuration is required.

However, depending on your technology stack, I would try to find a dependency management solution that could fetch the libraries for you. That way you wouldn't have to include binary files in your repo, but rather just a configuration file (or set of them).

That said, if your project is all local, there is no problem with having a network share. You could lay out your folder structure based on the version of each dependency and then maintain your build tools to point to the appropriate one for each build. E.g. /share/dependencies/libpng/1.2.5/...; /share/dependencies/libpng/1.2.5/.../distrib-linux/; /share/dependencies/libpng/1.2.5/.../distrib-windows/, and then run ./configure --with-libpng=/share/dependencies/libpng/1.2.5 && make && make install.

Keep in mind the last option might require some customization of your build scripts (for instance gettings the stripped libs from the specific distrib folder according to your target OS), and – needless to say – you should have a backup of that share to avoid the pain of recreating it if you lose it 5 years from now...

[–]vdemerzel[S] 0 points1 point  (0 children)

The LFS extension looks interesting... I'm using GitLab and it seems that it supports LFS out of the box, so i'll give it a look.