Adopting Conan for dependencies and consumption


Using Conan will allow us to:

  • move the dependencies outside of Urho’s repo, and easily upgrade them.
  • Easily use several builds of Urho3D at the same time (different build options, 32/64, …), without having to manually rebuild or manage several copies.
  • Easily consume Urho3D as a library, without having to manually generate a template project and maintain it.
  • Speed up Urho build time by caching and reusing build results for dependencies
  • Will allow easier consumption of libraries built on top of Urho3D

It’s a bit tricky to move to Conan because the CMake script has a lot of logic and some of it has to be exposed in the Conan recipe, such as build options. Also all the dependencies logic needs to be moved from the CMake script to the Conan recipe.

I started making a recipe. It doesn’t have all the options yet, and didn’t move the dependencies logic from CMake to Conan:

Urho modifies few of the libs it uses, which will require creating a fork and a Conan recipe for it, so it isn’t a big deal.


By the way I’d like to know if people are in favor of using Conan, Especially @weitjong. If so I’ll put effort into it and make a PR.


This topic has been raised in the past. See:

You don’t need my blessing for it. As long as you intend to maintain it long term then we will be glad to accept your contribution.