A decentralized, open-source package manager for C and C++ developers with cross-platform binary management.
Conan is an open-source, decentralized package manager specifically designed for C and C++ developers. It solves dependency management challenges by enabling users to create, share, and consume packages across different platforms and configurations, including cross-compiling scenarios. The tool integrates with various build systems and allows private hosting of packages.
C and C++ developers and teams working on cross-platform projects, embedded systems, or complex dependency graphs who need reliable package management with binary compatibility control.
Developers choose Conan for its native C/C++ focus, decentralized architecture allowing private hosting, robust cross-platform binary management, and flexibility through Python-based extensibility—addressing gaps left by general-purpose package managers.
Conan - The open-source C and C++ package manager
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows private server hosting and integrates with Artifactory and Bintray, giving teams full control over dependency storage and access.
Creates and manages binaries for any configuration, including cross-compiling, saving significant time in development and CI/CD pipelines.
Compatible with any build system, including CMake, MSBuild, and Meson, with tested support for major ones, ensuring seamless integration.
Python-based recipes and extension points provide great customization power for complex dependency scenarios and automation.
Requires Python and pip installation, which can be a barrier in pure C/C++ environments or where Python tooling is not standard.
Setting up from source involves multiple steps like editable installs and environment variables, as noted in the README, which can be daunting for newcomers.
Writing and maintaining Conan recipes in Python requires understanding both Conan's API and Python, adding complexity for C++ developers unfamiliar with scripting.