C++ Project Management: CMake, CPack, and Beyond

Posted By: lucky_aut

C++ Project Management: CMake, CPack, and Beyond
Published 8/2025
Duration: 8h 18m | .MP4 1280x720 30 fps(r) | AAC, 44100 Hz, 2ch | 9.66 GB
Genre: eLearning | Language: English

Understanding C++ tooling for compiling, installing, distributing, and debugging real software


What you'll learn
- Learn how to enable your code to compile with CMake.
- Learn how to create distribution packages with CPack
- Explore the benefits of container-native development
- Learn how to debug using sanitizers and language servers
- Understand Debian package structure, and run your own test APT server

Requirements
- Basic familiarity with C++ is assumed, including conditions/if statements, loops, and simple classes.
- Some experience with Git is recommended.

Description
Becoming an expert C++ software engineer requires much more than learning how to code!  You'll also need to learn to navigate the complex (and often unintuitive) world of C++ tooling: the compilers, generators, build systems, package managers, containerization systems, and debuggers that support serious software.

This course is the most natural next step for developers who have learned the basics of writing C++ code.  We'll cover CMake in detail, focusing on using CMake to compile projects similar to those seen in the real world.  You'll learn how to build executables and libraries with CMake, and to distribute those projects to end-users using CPack and APT.  We won't shy away from some of the more challenging elements of CMake, including the nuances of CMake scope and variable substitution, and the steps required to make CMake packages straightforwardly consumable.   We'll also discuss basic principles of C++ project structure and maintenance, including the use of language servers and sanitizers.

I've taken great pains to make it easy to follow along with the course.  The videos are recorded within a Docker development environment that supports both Neovim and VSCode, so you'll be able to follow along in the same environment.  This also means that we'll have an opportunity to explore the benefits of container-native development in a way that might fundamentally change your workflow for software development!

Who this course is for:
- Beginning C++ students eager for the next natural step in their education.
- C++ coders interested in learning how to contribute to real-world projects.
- Developers who would like to create and distribute libraries.
More Info

Please check out others courses in your favourite language and bookmark them
English - German - Spanish - French - Italian
Portuguese