Managing C/C++ dependencies has always been a pain, especially for cross platform projects.
Conan is a portable package manager, mainly intended for C/C++, that makes library packaging possible (even pleasant!).
After a brief presentation of Conan, I'll show how we're using it to deal with our new C++ project's dependencies.
Last time I had to rebuild dependencies (for the new MSVC release) was horrible, it took me (only) a week!
There were no build scripts for most of them, and I was a real newbie in dependency management.
After hitting a lot of walls (e.g. MT vs MD, building Autotools-based projects on Windows, etc...), I swore never to go through that process again.
I've decided to give Conan a try when a new project was announced.
Within a couple of weeks, I've managed to build binaries for x86/x64, Debug/Release (including proper PDB packaging), shared/static, Windows/macOS/Linux.
Integrating Conan to our CI system was trivial, upgrading a dependency is now a matter of minutes.
First, I'll show how to create, upload, and install packages before diving into cross-compilation with Conan.