CppCon 2017: Mathieu Ropert “Using Modern CMake Patterns to Enforce a Good Modular Design”
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2017
—
CMake is the build system chosen by most open-source C++ projects. While it is fully capable of helping you enforce a good modular design, those features are usually not well known or understood.
In this talk I will present modern CMake practices that will simplify your project build and help you design better C++ components with clear dependencies and build interfaces (the sum of compile flags required to use a given library).
We will first do a quick recap of the theory behind modular design, most of it coming from John Lakos' work on Large Scale C++ Software Development. Then we will see a few of the legacy CMake patterns that can be found in a lot of open source projects and explain their shortcomings. We will learn how to create a clean C++ library using modern CMake practices and depend on it in others modules. Finally, we will explore the options available to export the build interfaces for use by external projects. In this last part a few external tools will be discussed such as pkg-config and Conan.
—
Mathieu Ropert: Senior Developer, Murex
Mathieu is a Senior Developer at Murex where he works as a C++ expert and animates internal workshops & events. A long term open-source enthusiast, he tries to make C++ more portable across platforms. He is also co-host of the Paris C++ Meetup.
—
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
Видео CppCon 2017: Mathieu Ropert “Using Modern CMake Patterns to Enforce a Good Modular Design” канала CppCon
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2017
—
CMake is the build system chosen by most open-source C++ projects. While it is fully capable of helping you enforce a good modular design, those features are usually not well known or understood.
In this talk I will present modern CMake practices that will simplify your project build and help you design better C++ components with clear dependencies and build interfaces (the sum of compile flags required to use a given library).
We will first do a quick recap of the theory behind modular design, most of it coming from John Lakos' work on Large Scale C++ Software Development. Then we will see a few of the legacy CMake patterns that can be found in a lot of open source projects and explain their shortcomings. We will learn how to create a clean C++ library using modern CMake practices and depend on it in others modules. Finally, we will explore the options available to export the build interfaces for use by external projects. In this last part a few external tools will be discussed such as pkg-config and Conan.
—
Mathieu Ropert: Senior Developer, Murex
Mathieu is a Senior Developer at Murex where he works as a C++ expert and animates internal workshops & events. A long term open-source enthusiast, he tries to make C++ more portable across platforms. He is also co-host of the Paris C++ Meetup.
—
Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
Видео CppCon 2017: Mathieu Ropert “Using Modern CMake Patterns to Enforce a Good Modular Design” канала CppCon
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
C++Now 2017: Daniel Pfeifer “Effective CMake"CppCon 2017: David Sankel “So, you inherited a large code base...”Breaking Dependencies: The SOLID Principles - Klaus Iglberger - CppCon 2020Bjarne Stroustrup - The Essence of C++CppCon 2015: Greg Law " Give me 15 minutes & I'll change your view of GDB"Deep CMake for Library Authors - Craig Scott - CppCon 2019C++ Weekly - Ep 78 - Intro to CMake (Old version - see links)CppCon 2018: Kate Gregory “What Do We Mean When We Say Nothing At All?”CppCon 2017: Fedor Pikus “Read, Copy, Update, then what? RCU for non-kernel programmers”CppCon 2017: John Lakos “Local ('Arena') Memory Allocators (part 1 of 2)”C++ Weekly - Ep 208 - The Ultimate CMake / C++ Quick StartCppCon 2017: Pablo Halpern “Allocators: The Good Parts”Back to Basics: Concurrency - Arthur O'Dwyer - CppCon 2020CppCon 2018: Mateusz Pusz “Git, CMake, Conan - How to ship and reuse our C++ projects”CppCon 2019: Ben Smith “Applied WebAssembly: Compiling and Running C++ in Your Web Browser”CppCon 2018: G. Nishanov “Nano-coroutines to the Rescue! (Using Coroutines TS, of Course)”CppCon 2018: Peter Bindels “Build Systems: a Simple Solution to a Complicated Problem”CppCon 2017: Klaus Iglberger “Free Your Functions!”Embrace Modern Technology: Using HTML 5 for GUI in C++ - Borislav Stanimirov - CppCon 2019Florent Castelli: Introduction to CMake