Advanced Dependencies Model in Conan 2.0 C, C++ Package Manager - Diego Rodriguez-Losada - ACCU 2022

  Рет қаралды 9,605

ACCU Conference

ACCU Conference

2 жыл бұрын

Join The ACCU Membership For Exclusive Benefits, Discounts & Reduced Conference Ticket Pricing:
accu.org/menu-overviews/membe...
---
Advanced Dependencies Model in Conan 2.0 C, C++ Package Manager - Diego Rodriguez-Losada - ACCU 2022
Slides & Materials:accu.digital-medium.co.uk/wp-...
Website: accu.org/conf-main/main/
Conan C, C++ package manager has been running the 1.X stable version, up to recent 1.43, for the last 4 years. One of its limitations was the relatively simple dependencies model, with "requires" to model "library" dependencies and "build_requires" to model "build time tools" dependencies.
While this model works well in some of the most typical scenarios, like applications linking all static libraries, it can be limited in some advanced scenarios, like mixing shared and static libraries in different topologies, or the (dreaded, but still happening in real life projects) case of depending on different versions of the same static library in the same project, via isolation of shared libraries.
Conan 2.0 introduces a new dependencies model with requirements "traits" like visibility, definition and propagation of headers and libraries independently, and more that allow modeling all these advanced use cases. This talk will present this new model, and apply it to solve different advanced use cases, with real life examples. It will also describe the ABI compatibility implications, and how it can affect and be leveraged while building large C and C++ projects at scale in CI.
---
Diego Rodriguez-Losada
Diego Rodriguez-Losada‘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 to build a C/C++ dependency manager and co-founded a startup.. Since then he mostly develops in Python. Diego is a conan.io C/C++ package manager co-creator and maintainer, now working at JFrog as Conan Lead Architect and C/C++ Advocate.
---
Videos Filmed & Edited by Digital Medium: events.digital-medium.co.uk
#accuconf #programming #conan

Пікірлер: 11
@dutiona
@dutiona 2 жыл бұрын
This is such a relief to get this fine piece of software in the C++ ecosystem. Conan was not perfect but, with trial and error, it has evolved a lot and the 2.0 looks very promising. I am already using it (one of the last released feature: toolchain generator integration, was so smooth!) and am looking forward to trying the 2.0 !
@germandiagogomez
@germandiagogomez 2 жыл бұрын
Conan is the tool we are using at my company for dependency resolution. It is working very nicely because it is flexible and you can also create your own recipes and customize them. Paired with Artifactory for artifact storage it makes for an industrial-strength setup. It is nice to see transitive dependencies coming into the new model.
@ACCUConf
@ACCUConf 2 жыл бұрын
Thanks for sharing
@nikolaosbouras5550
@nikolaosbouras5550 2 жыл бұрын
This is gold, thanks for sharing it.
@ACCUConf
@ACCUConf Жыл бұрын
Thanks for listening
@zbychs
@zbychs 2 жыл бұрын
Very good presentation, thanks.
@ACCUConf
@ACCUConf 2 жыл бұрын
Glad you enjoyed it!
@adrianconstantin1132
@adrianconstantin1132 Жыл бұрын
The assembler code still shows a missing function address (all zeroes), even in the slides after linking, when the symbol should be resolved.
@johndewey7243
@johndewey7243 Жыл бұрын
Building C++ projects makes me cry.
@superchopez
@superchopez Жыл бұрын
😆
@adrianconstantin1132
@adrianconstantin1132 Жыл бұрын
I've always wanted this, but good integrations are too important for adoption, and conan still does not address them properly. The latest is currently connan 2.0.6, and the cmake integration requires an external toolchain file ? A real cmake dependency provider is too important for conan to ignore. Same for Visual Studio projects, the VS extension is always left behind. Users do not want to run conan *BEFORE* the build, and then alter the build environment with the results. Users want to run their build script directly, and have it integrate with conan from there.
I CAN’T BELIEVE I LOST 😱
00:46
Topper Guild
Рет қаралды 88 МЛН
МАМА И STANDOFF 2 😳 !FAKE GUN! #shorts
00:34
INNA SERG
Рет қаралды 4,3 МЛН
THE POLICE TAKES ME! feat @PANDAGIRLOFFICIAL #shorts
00:31
PANDA BOI
Рет қаралды 23 МЛН
An Introduction to Multithreading in C++20 - Anthony Williams - ACCU 2022
1:27:44
Conan Package Manager for C++ in Practice
1:00:01
NWCPP - Northwest C++ Users Group
Рет қаралды 7 М.
Conan Package Manager for C++ in Practice
1:11:51
CoreCppIL
Рет қаралды 14 М.
Introduction to Conan 2 - The Best C++ Package Manager?
26:33
Coding with Mat
Рет қаралды 8 М.
Simple maintenance. #leddisplay #ledscreen #ledwall #ledmodule #ledinstallation
0:19
LED Screen Factory-EagerLED
Рет қаралды 19 МЛН
Secret Wireless charger 😱 #shorts
0:28
Mr DegrEE
Рет қаралды 2,5 МЛН
Спутниковый телефон #обзор #товары
0:35
Product show
Рет қаралды 2 МЛН