Welcome to Conan C/C++ Package Manager Documentation
Conan is a software package manager which is intended for C and C++ developers.
Conan is universal and portable. It works in all operating systems including Windows, Linux, OSX, FreeBSD, Solaris, and others, and it can target any platform, including desktop, server, and cross-building for embedded and bare metal devices. It integrates with other tools like Docker, MinGW, WSL, and with all build systems such as CMake, MSBuild, Makefiles, Meson, SCons. It can even integrate with any proprietary build systems.
Conan is completely free and open source and fully decentralized. It has native integration with JFrog Artifactory, including the free Artifactory Community Edition for Conan, enabling developers to host their own private packages on their own server. The ConanCenter central repository contains hundreds of popular open source libraries packages, with many pre-compiled binaries for mainstream compiler versions.
Conan can manage any number of different binaries for different build configurations, including different architectures, compilers, compiler versions, runtimes, C++ standard library, etc. When binaries are not available for one configuration, they can be built from sources on-demand. Conan can create, upload and download binaries with the same commands and flows on every platform, saving lots of time in development and continuous integration. The binary compatibility can even be configured and customized on a per-package basis.
Conan has a very large and active community, especially in Github repositories and Slack #conan channel. This community also creates and maintains packages in ConanCenter. Conan is used in production by thousands of companies, and consequently, it has a commitment to stability, with no breaking changes across all Conan 1.X versions.
- Introduction
- Cheatsheet
- Training Courses
- Install
- Getting Started
- Using packages
- Creating Packages
- Uploading Packages
- Developing packages
- Package apps and devtools
- Versioning
- Mastering Conan
- Systems and cross building
- Extending Conan
- Integrations
- Configuration
- Howtos
- How to package header-only libraries
- How to launch conan install from cmake
- How to create and reuse packages based on Visual Studio
- Creating and reusing packages based on Makefiles
- How to manage the GCC >= 5 ABI
- Using Visual Studio 2017 - CMake integration
- Working with Intel compilers
- How to manage C++ standard [EXPERIMENTAL]
- How to use Docker to create and cross-build C and C++ Conan packages
- How to reuse Python code in recipes
- How to create and share a custom generator with generator packages
- How to manage shared libraries
- How to reuse cmake install for package() method
- How to collaborate with other users’ packages
- How to link with Apple Frameworks
- How to package Apple Frameworks
- How to collect licenses of dependencies
- How to extract licenses from headers
- How to dynamically define the name and version of a package
- How to capture package version from SCM: git
- How to capture package version from SCM: svn
- How to capture package version from text or build files
- How to use Conan as other language package manager
- How to manage SSL (TLS) certificates
- How to check the version of the Conan client inside a conanfile
- Use a generic CI with Conan and Artifactory
- Compiler sanitizers
- Reference
- Videos and links
- FAQ
- Glossary
- Changelog
- 1.46.2 (18-Mar-2022)
- 1.46.1 (17-Mar-2022)
- 1.46.0 (07-Mar-2022)
- 1.45.0 (02-Feb-2022)
- 1.44.1 (13-Jan-2022)
- 1.44.0 (29-Dec-2021)
- 1.43.4 (18-Feb-2022)
- 1.43.3 (13-Jan-2022)
- 1.43.2 (21-Dec-2021)
- 1.43.1 (17-Dec-2021)
- 1.43.0 (03-Dec-2021)
- 1.42.2 (22-Nov-2021)
- 1.42.1 (08-Nov-2021)
- 1.42.0 (29-Oct-2021)
- 1.41.0 (06-Oct-2021)
- 1.40.4 (05-Oct-2021)
- 1.40.3 (30-Sept-2021)
- 1.40.2 (21-Sept-2021)
- 1.40.1 (14-Sept-2021)
- 1.40.0 (06-Sept-2021)
- 1.39.0 (27-Jul-2021)
- 1.38.0 (30-Jun-2021)
- 1.37.2 (14-Jun-2021)
- 1.37.1 (08-Jun-2021)
- 1.37.0 (31-May-2021)
- 1.36.0 (28-Apr-2021)
- 1.35.2 (19-Apr-2021)
- 1.35.1 (13-Apr-2021)
- 1.35.0 (30-Mar-2021)
- 1.34.1 (10-Mar-2021)
- 1.34.0 (26-Feb-2021)
- 1.33.1 (02-Feb-2021)
- 1.33.0 (20-Jan-2021)
- 1.32.1 (15-Dec-2020)
- 1.32.0 (03-Dec-2020)
- 1.31.4 (25-Nov-2020)
- 1.31.3 (17-Nov-2020)
- 1.31.2 (11-Nov-2020)
- 1.31.1 (10-Nov-2020)
- 1.31.0 (30-Oct-2020)
- 1.30.2 (15-Oct-2020)
- 1.30.1 (09-Oct-2020)
- 1.30.0 (05-Oct-2020)
- 1.29.2 (21-Sept-2020)
- 1.29.1 (17-Sept-2020)
- 1.29.0 (02-Sept-2020)
- 1.28.2 (31-Aug-2020)
- 1.28.1 (06-Aug-2020)
- 1.28.0 (31-Jul-2020)
- 1.27.1 (10-Jul-2020)
- 1.27.0 (01-Jul-2020)
- 1.26.1 (23-Jun-2020)
- 1.26.0 (10-Jun-2020)
- 1.25.2 (19-May-2020)
- 1.25.1 (13-May-2020)
- 1.25.0 (06-May-2020)
- 1.24.1 (21-Apr-2020)
- 1.24.0 (31-Mar-2020)
- 1.23.0 (10-Mar-2020)
- 1.22.3 (05-Mar-2020)
- 1.22.2 (13-Feb-2020)
- 1.22.1 (11-Feb-2020)
- 1.22.0 (05-Feb-2020)
- 1.21.3 (03-Mar-2020)
- 1.21.2 (31-Jan-2020)
- 1.21.1 (14-Jan-2020)
- 1.21.0 (10-Dec-2019)
- 1.20.5 (3-Dec-2019)
- 1.20.4 (19-Nov-2019)
- 1.20.3 (11-Nov-2019)
- 1.20.2 (6-Nov-2019)
- 1.20.1 (5-Nov-2019)
- 1.20.0 (4-Nov-2019)
- 1.19.3 (29-Oct-2019)
- 1.19.2 (16-Oct-2019)
- 1.19.1 (3-Oct-2019)
- 1.19.0 (30-Sept-2019)
- 1.18.5 (24-Sept-2019)
- 1.18.4 (12-Sept-2019)
- 1.18.3 (10-Sept-2019)
- 1.18.2 (30-Aug-2019)
- 1.18.1 (8-Aug-2019)
- 1.18.0 (30-Jul-2019)
- 1.17.2 (25-Jul-2019)
- 1.17.1 (22-Jul-2019)
- 1.17.0 (9-Jul-2019)
- 1.16.1 (14-Jun-2019)
- 1.16.0 (4-Jun-2019)
- 1.15.4
- 1.15.3
- 1.15.2 (31-May-2019)
- 1.15.1 (16-May-2019)
- 1.15.0 (6-May-2019)
- 1.14.5 (30-Apr-2019)
- 1.14.4 (25-Apr-2019)
- 1.14.3 (11-Apr-2019)
- 1.14.2 (11-Apr-2019)
- 1.14.1 (1-Apr-2019)
- 1.14.0 (28-Mar-2019)
- 1.13.3 (27-Mar-2019)
- 1.13.2 (21-Mar-2019)
- 1.13.1 (15-Mar-2019)
- 1.13.0 (07-Mar-2019)
- 1.12.3 (18-Feb-2019)
- 1.12.2 (8-Feb-2019)
- 1.12.1 (5-Feb-2019)
- 1.12.0 (30-Jan-2019)
- 1.11.2 (8-Jan-2019)
- 1.11.1 (20-Dec-2018)
- 1.11.0 (19-Dec-2018)
- 1.10.2 (17-Dec-2018)
- 1.10.1 (11-Dec-2018)
- 1.10.0 (4-Dec-2018)
- 1.9.2 (20-Nov-2018)
- 1.9.1 (08-Nov-2018)
- 1.9.0 (30-October-2018)
- 1.8.4 (19-October-2018)
- 1.8.3 (17-October-2018)
- 1.8.2 (10-October-2018)
- 1.8.1 (10-October-2018)
- 1.8.0 (9-October-2018)
- 1.7.4 (18-September-2018)
- 1.7.3 (6-September-2018)
- 1.7.2 (4-September-2018)
- 1.7.1 (31-August-2018)
- 1.7.0 (29-August-2018)
- 1.6.1 (27-July-2018)
- 1.6.0 (19-July-2018)
- 1.5.2 (5-July-2018)
- 1.5.1 (29-June-2018)
- 1.5.0 (27-June-2018)
- 1.4.5 (22-June-2018)
- 1.4.4 (11-June-2018)
- 1.4.3 (6-June-2018)
- 1.4.2 (4-June-2018)
- 1.4.1 (31-May-2018)
- 1.4.0 (30-May-2018)
- 1.3.3 (10-May-2018)
- 1.3.2 (7-May-2018)
- 1.3.1 (3-May-2018)
- 1.3.0 (30-April-2018)
- 1.2.3 (10-Apr-2017)
- 1.2.1 (3-Apr-2018)
- 1.2.0 (28-Mar-2018)
- 1.1.1 (5-Mar-2018)
- 1.1.0 (27-Feb-2018)
- 1.0.4 (30-January-2018)
- 1.0.3 (22-January-2018)
- 1.0.2 (16-January-2018)
- 1.0.1 (12-January-2018)
- 1.0.0 (10-January-2018)
- 1.0.0-beta5 (8-January-2018)
- 1.0.0-beta4 (4-January-2018)
- 1.0.0-beta3 (28-December-2017)
- 1.0.0-beta2 (23-December-2017)
- 0.30.3 (15-December-2017)
- 0.30.2 (14-December-2017)
- 0.30.1 (12-December-2017)
- 0.29.2 (2-December-2017)
- 0.29.1 (23-November-2017)
- 0.29.0 (21-November-2017)
- 0.28.1 (31-October-2017)
- 0.28.0 (26-October-2017)
- 0.27.0 (20-September-2017)
- 0.26.1 (05-September-2017)
- 0.26.0 (31-August-2017)
- 0.25.1 (20-July-2017)
- 0.25.0 (19-July-2017)
- 0.24.0 (15-June-2017)
- 0.23.1 (05-June-2017)
- 0.23.0 (01-June-2017)
- 0.22.3 (03-May-2017)
- 0.22.2 (20-April-2017)
- 0.22.1 (18-April-2017)
- 0.22.0 (18-April-2017)
- 0.21.2 (04-April-2017)
- 0.21.1 (23-March-2017)
- 0.21.0 (21-March-2017)
- 0.20.3 (06-March-2017)
- 0.20.2 (02-March-2017)
- 0.20.1 (01-March-2017)
- 0.20.0 (27-February-2017)
- 0.19.3 (27-February-2017)
- 0.19.2 (15-February-2017)
- 0.19.1 (02-February-2017)
- 0.19.0 (31-January-2017)
- 0.18.1 (11-January-2017)
- 0.18.0 (3-January-2017)
- 0.17.2 (21-December-2016)
- 0.17.1 (15-December-2016)
- 0.17.0 (13-December-2016)
- 0.16.1 (05-December-2016)
- 0.16.0 (19-November-2016)
- 0.15.0 (08-November-2016)
- 0.14.1 (20-October-2016)
- 0.14.0 (20-October-2016)
- 0.13.3 (13-October-2016)
- 0.13.0 (03-October-2016)
- 0.12.0 (13-September-2016)
- 0.11.1 (31-August-2016)
- 0.11.0 (3-August-2016)
- 0.10.0 (29-June-2016)
- 0.9.2 (11-May-2016)
- 0.9 (3-May-2016)
- 0.8.4 (28-Mar-2016)
- 0.8 (15-Mar-2016)
- 0.7 (5-Feb-2016)
- 0.6 (11-Jan-2016)
- 0.5 (18-Dec-2015)
- Conan migration guide to 2.0
- Update the syntax of your Conanfile
- Explicit test package requirement
- New namespace conan.tools.xxxxx
- Host and build profiles and new cross-building model
- Conan uses revisions by default in Conan 2.0
- self.copy() disappears from recipes
- self.dependencies to access information about dependencies
- Commands that disappear in 2.0: copy
- Methods that disappear in 2.0: self.imports
- Editables don’t use external templates any more. New layout model
- Symlinks in recipes and packages
- Default cpp_info.builddirs
- Removing missing settings
- New properties model for the cpp_info in Conan 2.0 generators
scm
is removed, replaced byexport()
andsource()
methods