TYPICAL WAYS TO HANDLE DEPENDENCIES IN C++ PROJECTS
5
TYPICAL CMAKE WORKFLOW
6
MODERN CMake: MODULAR DESIGN
7
PHYSICAL DESIGN: OLD CMAKE STYLE
8
PHYSICAL DESIGN: MODERN CMAKE
9
NO CYCLIC PHYSICAL DEPENDENCIES!
10
ALIAS TARGETS
11
GENERATOR EXPRESSIONS
12
MODERN LIBRARY EXAMPLE
13
MODERN LIBRARY USAGE
14
FILES ORGANIZATION
15
MODERN CMAKE CODE OF CONDUCT
16
EXPORT YOUR LIBRARY INTERFACE
17
PACKAGE TESTING WORKFLOW
18
PURE CMAKE: DEPENDENCIES THE WRONG WAY
19
CONAN CLIENT-SERVER ARCHITECTURE
20
CONAN PACKAGE IDENTIFIER
21
CONAN PACKAGES
22
INSPECTING DEPENDENCIES
23
PACKAGE DETAILS
24
INSTALLING DEPENDENCIES
25
CONAN FILES
26
SETTING PACKAGE OPTIONS
27
FIXING IMPORTS FOR SHARED LIBRARIES
28
MORE POWER WITH CONANFILE.PY
29
CONAN PROFILES
30
USING CONAN WITH CMAKE
31
CONAN PACKAGE CREATION
32
SUMMARY
Description:
Explore a comprehensive conference talk on streamlining C++ project management and dependency handling using Git, CMake, and Conan. Learn how to effectively ship and reuse C++ projects by leveraging modern tools and best practices. Dive into topics such as modular CMake design, package testing workflows, Conan package management, and integrating these tools for efficient C++ development. Gain insights from Mateusz Pusz, a seasoned C++ expert and ISO C++ Committee member, as he shares practical solutions for common challenges in large, multi-platform C++ projects with numerous open-source dependencies.
Git, CMake, Conan - How to Ship and Reuse Our C++ Projects