HOME > Development > CMake from Zero to Hero

CMake from Zero to Hero

  • Development
  • May 13, 2025
SynopsisCMake from Zero to Hero, available at $59.99, has an average...
CMake from Zero to Hero  No.1

CMake from Zero to Hero, available at $59.99, has an average rating of 4.15, with 58 lectures, 7 quizzes, based on 118 reviews, and has 640 subscribers.

You will learn about Understand the basics of CMake Learn how to organize your projects structure, install and export it Use 3rd party libraries Testing features of CMake (CTest) This course is ideal for individuals who are C/C++ developers/students interested in CMake It is particularly useful for C/C++ developers/students interested in CMake.

Enroll now: CMake from Zero to Hero

Summary

Title: CMake from Zero to Hero

Price: $59.99

Average Rating: 4.15

Number of Lectures: 58

Number of Quizzes: 7

Number of Published Lectures: 58

Number of Curriculum Items: 65

Number of Published Curriculum Objects: 58

Original Price: $89.99

Quality Status: approved

Status: Live

What You Will Learn

  • Understand the basics of CMake
  • Learn how to organize your projects structure, install and export it
  • Use 3rd party libraries
  • Testing features of CMake (CTest)
  • Who Should Attend

  • C/C++ developers/students interested in CMake
  • Target Audiences

  • C/C++ developers/students interested in CMake
  • This course is for C++ developers and computer science students and it helps with the frustration of learning CMake by providing a structured way of doing it, using small “Hello World”-like examples and some real world examples as well.

    If you’re like me, you were frustrated because there is no structured tutorial that goes beyond the absolute basics. Maybe you even hated CMake, like a lot of programmers. This will be taken care of, because this is a structured learning path, and we will cover some of the most frequently used features of CMake.

    No prior experience with CMake is needed, but basic C++ is needed. Just the basics, nothing fancy.

    I’ve been a professional software developer for more than 10 years now. I’ve also been a trainer in one of my jobs. I noticed that it’s better to take a hands-on approach and I encourage you to do the same with this course. Play around with the examples. Break them. See what happens.

    What you’ll get out of this:

  • CMake is cross-platform

  • It’s in a lot of open-source projects, (maybe even your work projects) which you’ll understand better

  • Simple, easy to follow examples, some of them inspired by real projects

  • Write your own CMake projects:

  • Build

  • Export

  • Use 3rd party libraries

  • Test

  • Mostly Linuxexamples, some Windowsones

  • Windows setup in CLion, Visual Studio, the command line + cmake-gui

  • Here’s a rough outline of the course, but please look at the curriculum on this page:

  • CMake basics

  • Variables

  • Control Flow

  • Structuring your projects

  • Export

  • External dependencies

  • Testing with CTest

  • Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Introduction

    Lecture 2: What to Watch Next

    Lecture 3: Installing on Ubuntu

    Lecture 4: Using CMake in Windows: Visual Studio and CLion

    Lecture 5: Using CMake in Windows from the Command Line

    Chapter 2: Basics

    Lecture 1: A minimal example – part 1

    Lecture 2: Minimal example – discussion

    Lecture 3: Static Versus Shared Libraries

    Lecture 4: Basic Library Example

    Lecture 5: Recap

    Chapter 3: CMake Variables

    Lecture 1: Intro

    Lecture 2: Basic Variables Example

    Lecture 3: Cache Variables

    Lecture 4: Options and cmake-gui

    Lecture 5: CMake-gui for Windows

    Lecture 6: Strings

    Lecture 7: Lists

    Lecture 8: Computing numeric values

    Lecture 9: Recap

    Chapter 4: Control flow

    Lecture 1: Conditionals

    Lecture 2: Conditionals example

    Lecture 3: Short practical example

    Lecture 4: Loops

    Lecture 5: Loops example

    Lecture 6: Recap

    Chapter 5: Organizing the project structure

    Lecture 1: Intro

    Lecture 2: Starting project

    Lecture 3: Subfolders (add_subdirectory)

    Lecture 4: Variable scope

    Lecture 5: Proper way of including headers (target_include_directories)

    Lecture 6: Target properties and propagation

    Lecture 7: Functions

    Lecture 8: Functions versus macros

    Lecture 9: Optional arguments

    Lecture 10: Keyword arguments – part 1

    Lecture 11: Keyword arguments – part 2

    Lecture 12: How did you find this example?

    Lecture 13: Including other cmake files

    Lecture 14: Recap

    Chapter 6: Exporting your project

    Lecture 1: Exporting and Installing

    Lecture 2: Using the install command

    Lecture 3: Installing exports and generating config files

    Lecture 4: Importing your project with find_package()

    Lecture 5: Library namespaces, CMAKE_PREFIX_PATH and other details

    Lecture 6: Recap

    Chapter 7: External dependencies

    Lecture 1: Intro

    Lecture 2: About Google Test

    Lecture 3: FetchContent

    Lecture 4: PkgConfig | Projects that are not CMake projects

    Lecture 5: Manually finding libs and include paths

    Lecture 6: Typo in the next lecture

    Lecture 7: Find modules

    Lecture 8: Case study: FindThreads

    Lecture 9: Recap

    Chapter 8: Testing your project with CTest

    Lecture 1: Intro

    Lecture 2: Simple example with CTest

    Lecture 3: Test properties

    Lecture 4: Recap

    Instructors

  • CMake from Zero to Hero  No.2
    Serban Stoenescu
    Software Development Engineer
  • Rating Distribution

  • 1 stars: 2 votes
  • 2 stars: 6 votes
  • 3 stars: 17 votes
  • 4 stars: 49 votes
  • 5 stars: 44 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!