▲ | tom_ 7 months ago | |||||||||||||||||||||||||
Include more of your dependencies in the repo and build them aa part of the ordinary build process. Now a package manager does not need to get involved. | ||||||||||||||||||||||||||
▲ | diath 7 months ago | parent | next [-] | |||||||||||||||||||||||||
Manually copy-pasting source trees around sounds like such an outdated idea from decades ago on how to approach dependency management in a modern programming language. Not to mention that you then have to hook them up to the build system that you are using and not all of them will work out of the box with the one you are using for your project, sure, if you are using CMake and your dependency uses CMake, you can add a subproject, how do you deal with it when they're mixed-and-matched aside from rewriting the builds for every dependency you're pulling in; or without manually writing glue shell scripts to build them independently and put them into a directory? How do you then ensure the said shell script works across different platforms? There are way too many issues with that approach that are solved in other languages through a standardized project management tool. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | cshokie 7 months ago | parent | prev [-] | |||||||||||||||||||||||||
That’s similar to what vcpkg does under the covers. It clones the repo containing the dependency’s source code and then compiles it using the same compiler as the rest of your project. This avoids static libraries and ABI considerations while also avoiding having to copy/paste their entire source tree into your own. |