CppCon 2016 has ended
Back To Schedule
Tuesday, September 20 • 3:15pm - 3:45pm
Conan, a C and C++ package manager for developers

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Conan is a FOSS (MIT license) and portable C and C++ package manager for developers:

  • Decentralized, git-like, the server is also released OSS, so it can be hosted in-house, and use conan totally behind the firewall, or just for your private packages. Using local caches, allows full offline usage, also for creating and testing packages.

  • Handles both binary packages and building them from source. Packages defined with simple yet powerful python recipes. Build system agnostic, so any build system can be wrapped while creating packages. Generators also allow to consume packages directly from many environments: CMake, Visual Studio, XCode, etc.

  • Growing and Involved community, contributing in Github repositories with code and feedback, and actively using conan.

This talk will give a brief technical introduction to conan, showing first how to consume existing packages, defining dependencies, using generators for different build systems (e.g. cmake), using package options (e.g. shared/static linkage) and settings (compiler, version, architecture, libstdc++/libc++/libstdc++11, build type, etc) to install or build the right packages. Also, different handling of paths for shared libraries in different OS will be summarized, and how conan approaches them.

Then, how to create packages will be introduced by example. How to retrieve source code from external sources (github, sourceforge, or any other origin), or integrating the recipe in the same source project, how to build the packages from sources, considering the different inputs (as compiler, architecture, etc. settings and options), how to package artifacts and how to define package information. A short discussion about how upstream dependencies affect your own package depending on linkage, visibility, versions, etc, will be done.

avatar for Diego Rodriguez-Losada Gonzalez

Diego Rodriguez-Losada Gonzalez

Lead Architect, JFrog
Diego's passions are robotics and SW engineering and development. He has developed many years in C and C++ in the Industrial, Robotics and AI fields. Diego was also a University (tenure track) professor and robotics researcher for 8 years, till 2012, when he quit academia to try... Read More →

Tuesday September 20, 2016 3:15pm - 3:45pm PDT
Vanity (Room 404) Meydenbauer Center