I googled this a lot and I found very poor solutions on how packages are managed in C++.
Let's suppose that I am working on a project called Project C
which is dependent on C++ project Project B
, and Project B
is dependent on another C++ project Project A
.
Currently, we use Visual Studio to develop our projects. When Project A
changes, every single developer pulls the changes and recompiles the project locally. Every single developer has a lib
folder with all of these dependencies that contains the DLLs and header files that we copy for each project manually.
Then since we know the dependencies, we then go to every project that is dependent on Project A
, copy the dlls
of Project A
from lib
folder and recompile those as well until we get what we want.
I know however, that C#
has nuget and one can manage external dependencies and Java
has maven where one can do the same.
What we currently do is a manual, error prone and extremely time consuming process. Is there a way to handle dependencies for C++
? We should be able to build with the debug ddl
s of the dependencies when compiling as debug and the release dll
s when compiling as release. For now we just need to have the latest dll
s.
We have jenkins installed and if we could use that to help us that would be perfect. For java projects our java engineers compile the project and maven packages are pushed into a maven repository from where everybody else is just pooling. As simple as that. But how we can achieve similar functionality in C++
?