Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Taking the Plunge Towards CMake in Boost

CppNow via YouTube

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore a comprehensive conference talk from CppNow 2019 on transitioning Boost to CMake. Dive into the benefits of adopting CMake for Boost, including improved accessibility and community support. Learn about various user needs, CMake script structures, Boost CMake modules, and a proposed migration path. Discover use cases, usage requirements, integrated builds, custom toolchains, and development workflows. Examine the implementation of Daniel Pfeiffer's Effective CMake principles, including source addition, dependency linking, and target setup. Gain insights into installing usage requirements, overriding find_package, and creating superprojects. Investigate the features of Boost CMake modules, their usage, and practical examples. Understand how to add test dependencies, work with interface properties, and implement emulation and pkgconfig. Conclude with guidance on incorporating tests into the CMake build system for Boost.

Syllabus

Intro
Overview
Use cases for cmake in boost
Usage requirements from find_package
Integrated builds with add_subdirectory
Custom toolchain
Development
Build dependency workflows
Modular boost
Follow structure of Daniel Pfeiffer's Effective CMake
Add sources
Link dependencies
Setup target for other directories
Install usage requirements
Override find_package
Superproject
The boost cmake modules
Overall features
Using boost cmake modules
An example with Boost cmake modules
Adding tests dependencies
Properties on interfaces
Emulation
Pkgconfig
Testing
Adding a test

Taught by

CppNow

Reviews

Start your review of Taking the Plunge Towards CMake in Boost

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.