Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
Advanced C++: Building Projects with CMake

Advanced C++: Building Projects with CMake

1h 54mAdvanced2025-05-22

Authors

Károly Nyisztor

Károly Nyisztor

Mobile Developer, Instructor

Course details

This advanced course on CMake for C++ is designed to equip experienced C++ developers with the skills required to build and manage complex projects more effectively. Explore the essentials of CMake from the ground up, gaining hands-on experience with setting up, configuring, and optimizing build environments. Join instructor Károly Nyisztor as he covers everything from integrating third-party libraries to writing cross-platform scripts, with an emphasis on automation and scalability. By the end of this course, you’ll be prepared to use CMake to streamline the build process, improve efficiency, and handle complex project structures in any professional setting.

Learning objectives
Set up and configure CMake to manage C++ projects of varying complexity.
Write and manage cross-platform CMake scripts to support building on different operating systems.
Integrate external libraries into C++ projects using CMake, simplifying dependencies and project structure.
Utilize CMake to automate the build, testing, and packaging processes for C++ applications.
Troubleshoot and optimize CMake configurations for efficiency and scalability in large codebases.

Skills covered

C++AdvancedProgramming LanguagesOpen SourceSoftware Development

Concepts

0. Introduction

  • 01 - Advanced C++ - Building projects with CMake

1. Build Systems

  • 02 - Why use a build system
  • 03 - Why use CMake

2. CMake Fundamentals

  • 04 - Setting up CMake
  • 05 - Getting familiar with CMake
  • 06 - What will be built in this course

3. Building Our CMake Project

  • 07 - Creating custom commands and targets in CMake
  • 08 - Integrating the core and filter libraries
  • 09 - Adding external dependencies
  • 10 - Creating custom targets
  • 11 - Defining custom commands to generate output
  • 12 - Pre-build and post-build commands

4. Advanced CMake Scripting

  • 13 - Refactoring with functions and macros
  • 14 - Target and directory-level properties
  • 15 - Using generator expressions
  • 16 - Handling build configuration-specific behavior
  • 17 - Practical example - Implementing a debug only logging system

5. Managing Dependencies and Integrations

  • 18 - Managing external libraries using FetchContent
  • 19 - Advanced FetchContent options
  • 20 - Platform-specific integrations
  • 21 - Finding libraries and packages
  • 22 - Conditionally including libraries based on platform

6. Build Automation with CMake

  • 23 - Automating build tasks
  • 24 - Managing build configurations
  • 25 - Automated testing
  • 26 - Continuous integration considerations

Next Steps

  • 27 - Where to go from here

Related courses

Related learn paths

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
zarinpal
zibal