After a brief presentation of Conan, I'll show how we're using it to deal with our new C++ project's dependencies.

Conan is a portable package manager, mainly intended for C/C++, that makes library packaging possible (even pleasant!).

Managing C/C++ dependencies has always been a pain, especially for cross platform projects.

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.