CMake on Fire

Learn CMake From Scratch in Linux & Windows

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.

What you’ll learn

  • Understand the basics of CMake.
  • Learn how to organize your project’s structure, install and export it.
  • Use 3rd party libraries.
  • Testing features of CMake (CTest).

Course Content

  • Introduction –> 5 lectures • 19min.
  • Basics –> 5 lectures • 28min.
  • CMake Variables –> 9 lectures • 46min.
  • Control flow –> 6 lectures • 14min.
  • Organizing the project structure –> 14 lectures • 59min.
  • Exporting your project –> 6 lectures • 17min.
  • External dependencies –> 8 lectures • 43min.
  • Testing your project with CTest –> 4 lectures • 12min.

Auto Draft

Requirements

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 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 Linux examples, some Windows ones
    • 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

 

Get Tutorial