The CMake Tutorial

Learn Modern CMake by Example

Quickly learn the CMake essentials, so you can focus on writing C++ code instead of fighting with the build system...

Shortcut Your Path to Building C++ Code like a Pro

CMake is a powerful build tool for C/C++, but can be an absolute pain to use. Scouring the internet for hours each time you need to modify your CMakelists.txt file is no fun. Even worse, you often end up learning the "wrong" (old) way of doing things. There are a lot of old CMake tutorials and examples out there...

The "Learn Modern CMake by Example" book/course will save you hours of time and frustration, by teaching you the correct (modern) ways to perform the most common build tasks.

Deliberately Short & Focused on Results

The CMake Tutorial is deliberately short, and focused sharply on making CMake do what you need it to. It doesn't cover every nook and cranny (of CMake), nor does it bog you down with endless theory and backstory. Your time is valuable, so it's designed to get you up and running quickly.

No drowning you with details on every single CMake feature (that's what the official documentation is for). It's got only the bits you're most likely to need, which have been organized for fast learning.

What You'll Learn

NOTE: Contents are provisional, and could change. Suggestions welcome...

CMakelists.txt files & how CMake works
Compiling multiple source files into one program
Using third-party libraries
Using non-CMake third-party libraries
Using pre-compiled third-party libraries
Choosing the C++ standard version, and other settings
Setting per-compiler flags
Creating static and dynamic libraries
Compiling debug and release versions
Tackling larger projects (multi-directory)

Meet the Author - Hans de Ruiter

Hi, I'm Hans, and I have decades of experience writing software in C, C++, and other languages too. For the longest time, I avoided CMake like the plague. I found the syntax to be cryptic, the documentation to be useless, and the error messages to be unintelligible.

That all changed when a project forced me to try CMake again. To my pleasant surprise, modern CMake was a lot better. It was easier to use, and both the errors and documentation were easier to understand.

The learning curve is still on the steep side, especially with a large volume of outdated tutorials out there. So, I've taken the time to learn the right way to learn modern CMake. 

I created this book/course because I didn't find a resource to quickly learn the essentials of modern CMake.

Q & A

Do I need to know how to write code?

No, although it'll certainly be helpful. Mind you, knowing how to use CMake isn't much use if you cannot program in C/C++. This makes a great companion to C/C++ tutorials.

What's the difference between the book & course?

Both will cover the same topics. The course includes video explaining the concepts and taking you through key parts of the code.

How much will the book/course cost?

See the pricing below.

When will it be available?

The book is available as an unfinished pre-release right now (see below). The course has no firm release date yet.

Join the Waitlist; Get a Free Sample

Get a book sample (an entire section with multiple chapters), plus CMake tips delivered via email.

We won't send you spam, ever. You can unsubscribe at any time.
Your personal data is processed as per our Privacy Policy.