Skip to content
UdemySoftware DevelopmentPaid courseIntermediate levelCertificate

CMake, Tests & Tooling for C/C++ Projects [2026 Edition] (Udemy.com)

Master CMake, CI/CD, Unit Testing & Professional C++ Tooling – Build production-ready projects on Windows, Linux & Mac

Created by: Jan Schaffranek

Last updated June 2026

icon
What you will learn

  • CMake (Command Line and GUI)
  • Create modern C/C++ Projects
  • Use external Projects via Git, Conan and VCPKG
  • Automate the HTML Documentation (Doxygen)
  • Unit Testing with Catch2
  • Code Coverage of the Unit Tests
  • Continuous Integration with Github Actions
  • Tooling: Clang-Format, Clang-Tidy, Cppcheck
  • Tooling: Sanitizer, Cmake-Format, Pre-Commit
  • VSCcode and VS 2022 with GCC, Clang and MSVC

How it compares

Against the other 518 rated Udemy courses in Software Development on CourseDuck:

  • Rating4.6 out of 5higher than 62% of them
  • Reviews2,195#79 of 519 by number of reviews
  • Length6.4 hoursshorter than 50% of them
  • Last updatedJune 2026more recently than 76% of them

icon
Course Description

Transform Your C/C++ Development Workflow – From Hobbyist to Professional

Can you write C++ code, but struggle with project structure, testing, and deployment? This course teaches you the professional workflows used at top tech companies – CMake, automated testing, continuous integration, and modern tooling.

What You'll Master:

Modern CMake from Scratch

  • Cross-platform builds for Windows, Linux, and macOS

  • Libraries, targets, and installation

  • Git submodules, Conan, and VCPKG for dependencies

  • CMake GUI for visual project configuration

Testing & Quality Assurance

  • Unit testing with Catch2

  • Code coverage measurement and visualization

  • Continuous Integration with GitHub Actions

  • Sanitizers for runtime checks (memory leaks, undefined behavior)

Professional C++ Tooling

  • Clang-Tidy – Static analysis for bug detection

  • Clang-Format – Automatic code formatting

  • Cppcheck – Additional static analysis

  • cmake-format – Clean CMakeLists.txt files

  • Pre-commit hooks – Enforce quality before commits

Documentation & Optimization

  • Doxygen for automated HTML documentation

  • Link Time Optimization (LTO) for performance

  • Debugging techniques across compilers

  • VSCode and Visual Studio 2022 integration

Cross-Compiler Support:

Works with GCC, Clang, and MSVC – Learn once, use everywhere.

Who Is This Course For?

Perfect for:

  • C/C++ developers ready to build professional projects

  • Engineers transitioning to industry-standard workflows

  • Students preparing for software engineering roles

  • Developers maintaining legacy codebases

  • Anyone wanting production-ready C++ skills

Prerequisites:

  • C/C++ basics (functions, classes)

  • Basic command-line experience

  • Willingness to learn professional tools

What You'll Achieve:

  • Set up cross-platform C++ projects with CMake

  • Write and automate unit tests with code coverage

  • Implement CI/CD pipelines with GitHub Actions

  • Use professional code quality tools

  • Generate documentation automatically

  • Deploy production-ready software

Why This Matters:

Industry Standard – CMake is the de-facto build system for C++
Job Requirement – These skills appear in job postings
Time Saver – Automation reduces manual work
Quality Insurance – Catch bugs before they reach users

Course Details:

6.5 hours of focused content – 67 lectures in 6 sections
Bestseller – 14,000+ students, 4.5-star rating
Updated November 2024 – Latest tools and practices
Full project template – Start your projects right

Elevate your C++ career – with 30-day money-back guarantee!

See you in class!

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Jan Schaffranek

Hi, ich bin der Jan!

German Description (English down below)

Ich habe meinen Master of Science (M. Sc.) im Fach der Angewandte Informatik an der Ruhr-Universität Bochum im September 2019 abgeschlossen und arbeite seitdem als Machine Learning Entwickler für das Autonome Fahren bei der ZF Group.

Mein Interesse, Informatik- und Mathematikwissen zu vermitteln, besteht schon seit vielen Jahren. Ich führe neben meiner Dozenten-Tätigkeit auf Udemy ebenfalls den Youtube Kanal mit dem Namen ""Franneck"".

Vor Allem im Gebiet des Machine Learnings, des Deep Learnings, der C/C++ und Python Programmierung versuche ich Euch fit zu machen und euch alles wichtige zu zeigen.


English Description

Hi, I'm Jan!

I finished my Master of Science (M. Sc.) in Applied Computer Science at Ruhr-Universität Bochum in September 2019 and have been working as a Machine Learning Developer for Autonomous Driving at ZF Group since then.

My interest in teaching computer science and mathematics knowledge has existed for many years. In addition to my lecturing activities on Udemy, I also run the Youtube channel with the name ""Franneck"".

Especially in the area of machine learning, deep learning, C/C++ and Python programming I try to make you fit and show you everything important.

icon
More courses by Jan Schaffranek

$49.99

$64.99

$74.99

$10.99

$59.99

icon
More Software Development courses

$10.99

$109.99

$19.99

$19.99

$94.99

$94.99

icon
Reviews

4.6

2,195 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Gary McLean on 8/21/2026

Jan does a pretty thorough job covering the various facets of cmake and the other tools used here. I found his lessons good, thoughtful and complete. He covers a lot of tools and it can sometimes be a challenge to keep up. Also he's not always explaining how to do certain things in VS Code so that I often had to slow down and stop motion even when he's doing something so I can see where he's clicking. Also I wasn't familiar with a lot of the tools he was using so things like I didn't know at first what things like Sanitizers and Code Coverage did until I was more than halfway though a lesson so it would have been useful if he could and given a brief description of what each of those did. As it is though I found the lesson's very thoroughly and professionally done and this knowledge should be a big help in creating good, reliable, code.

By Herman Yulau on 6/15/2026

Excellent course! It's not only about CMake, but it also includes info about different useful tools and tricks for C++ development. I enjoy it very much and constantly return to it from time to time to refresh my knowledge. Highly recommend! Some other useful topics which are missing here from my perspective are CMake presets, clangd.

By Jorge Luis Sánchez Buy on 6/1/2026

It is a very complete course I could name and know some of the concepts I work with everyday. How ever you have to have a little of notion about this topics in order to get all he's explaining. On the other hand I think it could be nice to have a set up from zero, I think this was done in order to do not have to many errors throughout the course. Finally, I really appreciate the effort you put in this course I learned many things and how-tos. Thank you

By Tomáš Tintěra on 11/18/2025

- This course all runs the live coding example way. So teacher does not uses slides but just comments and explains while coding. And you ca also see how occasional error messages look and how they are solved. Witch IMO help practical knowledge. - Going from simple example to sightly larger one. - Using VS Code and WSL you can run examples on both Linux and Ubuntu. And your additional Linux distribution if you need or want. - Goes both much deeper and wider than other courses I have seen. - The course is not strictly aimed at CMake but also other tools are quickly shown. But of course without deeper explanation nor details. - You can create many examples or it's variants yourself just following the course. No information is missing. (But on some later chapters not all code is written on screen where it follows some pattern that us usually always copied anyway. - Last but not lease the course not only keeps it's quality from first minute to the last one but IMO get even better during first ten or twenty lessons.

By Patrick Sullivan on 2/16/2025

As someone who has not done much with C++ in a long time, finding understandable information about cmake was hard, so I grabbed this course. I'm glad I did, the instructor did a great job of explaining things to the point I've done a few small cmake based projects and can look up what I need at this point. Highly recommended.

By Hugh Van Dongen on 1/6/2025

Blimey! A lot to take onboard, but I appreciate your efforts as it has given me a good foundation stone that I can build on and develop along with the book recently purchased. Many years ago I tried cmake and failed, this and streamlining of the cmake material gives me a much better chance to become competent with cmake. I have done most examples (2/3'rds) as I will have to come back to some of the material to study further. The one bit of feedback, especially for those less experienced, is have an intro lecture where some scaffolding is put in place, such as : revision of the compilation, linking build process through to prior executable distribution, what is meant by target ... a process with key steps (configure, generate and build clearly outline in CMake GUI ) and some mechanics of the cmake language. I know the process in general terms, but I've never really paid too much attention as have used visual studio a lot. Many thanks for you efforts, good course

By Timothy Lafleur on 6/12/2024

learned more about compiling / configuring the compiling for C/C++ projects than I ever learned in college. Great additional information covered more than just CMake: package managers, multiple ways of setting up library dependencies, Linux, mac and windows, unit testing, code sanitizers, code formatters, github pages, git hub pre-commit hooks, python utilities for C programming, code coverage, dependency chart, types of libraries, some basic make files for utility, code documentation with doxygen, cross compiling with toolchains and much more to setup a modern professional C/C++ application. Very comprehensive, thank you.

By Joseph Baqaeen on 12/27/2023

Jan is very knowledgable and he shares his real life experience working with C++ and CMake, he tackles almost every feature in CMake projects and almost does not leave any stone unturned. The course is well structured. After finishing it, one gets a really good understanding of CMake Projects. Jan starts with a gentle introduction and progresses from there. Really enjoyed the course and it is worth watching again, one of the best parts is that towards the end, one ends up with a repeatable workable cross-platform CMake template project.

By Kanchan Joshi on 7/21/2023

I would like more examples on the much more advanced topic of CMake. I found myself in disarray from video 24 onwards. It would be better if you could add some additional videos that can help us understand what videos are dealing with what aspect of CMake. Add some examples of projects on the go for us to help and understand what is happening under the hood. Section 3 was a bit hard to link and understand. Section 4 was just touched and needs more effort.

By Ishaan Karnik on 1/30/2023

This course is exceptional and Jan is a phenomenal instructor. The course is must have for developers/software engineers who wish to increase their knowledge about C++ tooling. Jan, I hope you can add detailed content on cmake-generator-expressions, cmake environment variables and sanitization checks like CheckIncludeFile. It would also be very helpful for students like me if you have dedicated video(s) demonstrating cmake usage (using terminal) for Windows-MSVC.

Showing all 10 reviews on CourseDuck

Read all 2,195 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100