title: Package Management for C++
body: <p>I am working in a company that they build a project separated in components that are developed separately by different developer teams. Everything in C++.</p>
  
  <p>They use a lot of libraries in common and to manage all of them, they created a tool to somehow relates the version of the project and versions of libraries.</p>
  
  <p>The question is about the existence of some tool in the market that already does this:</p>
  
  <p>I mean, If I go to this tool, I can download for example the version 4.0 of our project that has exactly the version 4.5 of the library 1 and 3.4 of library 2. If I click "Download", I will Download the source code (or binary) of this <strong>entire</strong> (project + libraries) project and the concrete version of each library.</p>
  
  <p>For example if I want to Download another project of another developers in the company, using same libraries in different version or platforms, I only have to choose that and is gonna download the project 2 with library 1 version 5.0 and library 2 2.5, and so on.</p>
  
  <p>Is there in the market any tool that aloud me to create some relations like that, and btw, connects with code repo (gitlab in our case)?</p>
  
  <p>I checked Gradle, Conan, ... but they build, not manage "relations" between components.</p>
  
  <p>Something like that:</p>
  
  <p><a href="https://i.stack.imgur.com/gqMt7.png" rel="noreferrer"><img src="https://i.stack.imgur.com/gqMt7.png" alt="enter image description here"></a></p>