
Gathering the Tribes Gathering the Tribes
Gathering the Tribes Gathering the Tribes
Gathering the Tribes Gathering the Tribes
Conan Community and C/C++ build engineering and packaging enthusiasts
TBD | Madrid
About ConanDays
ConanDays, 2 days full of technical content for the whole Conan Community and C/C++ build engineering and packaging enthusiasts in Madrid, Spain, 19-20 March 2020.
- Technical talks with real-life examples from Conan experts/contributors/users
- Keynote about “Modules: The Future of Building C++” from Bryce Lelbach
- Hands-on trainings
- Campfire session on defining the future of Conan together
- Networking, fun and a social evening event
Come to learn the latest Conan features or good practices, or to share your knowledge and engage with other Conan users and experts, but also with other contributors and the Conan founders and maintainers.
ConanDays Trainings
US training slots
EMEA/APAC training slots
Keynote Speakers
SPEAKERS
AGENDA
TBA
ConanDays Trainings
On the first day of ConanDays, March 19th, we will start with three different 3-hour hands-on technical training sessions that you can choose from:
Conan Essentials
Description
This class is a hands-on introductory course on how to use Conan. It will cover the basic use of Conan like how to consume existing packages in your applications, how Conan integrates with different build systems and how to create packages for your own libraries. These concepts will be approached and learned in real working exercises, installing, creating, cross-building, uploading and downloading packages.
Why should I attend?
This course is the perfect complement if you are new to Conan or want to refresh basic concepts to make the most of the talks in ConanDays.
Topics covered
- Using existing packages in your applications.
- Using different build systems: Conan generators and build helpers
- Searching and displaying information about packages and the dependency graph
- Creating packages for C++ libraries.
- The binary model: how to create and maintain packages for different OS, compilers, architectures… using profiles.
- Cross-compiling packages
- Conan decentralized architecture: uploading and downloading packages to remote servers. Using Artifactory CE server.
- Introduction to Bintray repositories, existing OSS packages.
Prerequisites
- Basic knowledge of building C++. Very basic CMake will be used in the examples, but not necessary to have used it before.
- A laptop with a reasonably modern OS and WiFi internet capable.
- Environment (Conan, CMake, editors) will be virtualized in the cloud.
Conan Advanced
Description
This class is a hands-on course on advanced Conan topics such as integrations with different build systems, SCM, development of packages, versioning, dependencies conflicts, ABI compatibility and binaries management, revisions and lockfiles. These concepts will be approached and learned in real working exercises, installing, creating, cross-building, uploading and downloading packages.
Why should I attend?
This course is perfect if you have previously used Conan but did not have the chance to try new or advanced features like python-requires, lockfiles or revisions.
Topics covered
- Using Conan packages to wrap tools like CMake, compilers or testing frameworks, with build-requires
- Integrations with source control systems
- Automatic versioning with package revisions
- Customizing the binary model. Distributing configuration with “conan config install”
- Store the information of a whole dependency graph using lockfiles.
- Conan extensions: hooks (linter, binary checking, etc) and python-requires (how to reuse common code in your package recipes)
Prerequisites
- Familiarity with Conan. Basic knowledge on Conan like how to consume and create packages, using different profiles, settings, and options and uploading and downloading from remotes with Conan.
- Basic knowledge of building C++. Very basic CMake will be used in the examples, but not necessary to have used it before.
- A laptop with a reasonably modern OS and WiFi internet capable.
- Environment (Conan, CMake, editors) will be virtualized in the cloud.
CI/CD Best Practices for C/C++ Projects with Conan and Artifactory
A course on how to set up a CI/CD flow for C/C++ projects using Conan along with other technologies such as Jenkins. It will cover which Conan features can help in quickening the adoption of a CI/CD pipeline for your C/C++ projects, how the different parts of the system relate to each other and what are the challenges that must be faced.
Description
Implementing modern DevOps and continuous integration in C and C++ projects isn’t easy. It is still challenging due to the nature of the C/C++ programming language and its ecosystem. This class is a hands-on course on how to set up a CI/CD flow for C/C++ projects using Conan along with other technologies such as Jenkins. It will cover which Conan features can help in quickening the adoption of a CI/CD pipeline for your C/C++ projects, how the different parts of the system relate to each other and what are the challenges that must be faced.
Why should I attend?
If you haven’t implemented a CI/CD flow for your C/C++ projects yet or you have done it but you want to learn some tips and good practices you should attend this training session.
Topics covered
- Challenges using C/C++: slow builds, huge projects, manage transitive dependencies, binary management, ABI compatibility.
- Conan features that can help to set up the pipeline: package ID modes, revisions, lockfiles
- Generation of build info: creating build info from lockfiles and publishing the info to Artifactory
- Promoting artifacts between different repositories.
- Artifactory. Setting up the repositories for the pipeline. Using a generic Artifactory repository to store metadata information for the pipeline.
- Introduction to the Jenkins Artifactory plugin.
Prerequisites
- Mid/Advanced knowledge level on Conan with some experience using features such as lockfiles, revisions, and package id modes.
- Knowledge of building in C++.
- A laptop with a reasonably modern OS and WiFi internet capable.
- Environment (Conan, CMake, editors, Jenkins) will be virtualized in the cloud.
Introduction to CMake
Description
This class is a hands-on introductory course on how to use CMake to manage your builds. It will cover an overview of CMake and how to use modern CMake features to build your executables and libraries in a cross-platform manner.
Why should I attend?
This training session will be very useful for both new and experienced C/C++ developers that don’t have a lot of experience using CMake.
Topics covered
- CMake concepts and workflow.
- CMake generators.
- Use CMake to build projects cross-platform. Creating executables and libraries with CMake.
- CMake language features. Using macros and functions.
- CMake syntax. Use of variables and cache.
- Modern CMake. Using targets.
Prerequisites
- Basic knowledge of C++.
- A laptop with a reasonably modern OS and WiFi internet capable.
- Environment (Compilers, CMake, editors) will be virtualized in the cloud.
Location
We will meet in the cozy hotel Melia Reina Victoria, in the heart of Madrid. It is located in a vibrant and beautiful area, Madrid’s historical city center. Madrid has a lot to offer and we will make sure you will spend a great time there!
See you soon!

Melia Hotel Reina Victoria
14 Plaza de Santa Ana 28012 Madrid, Spain