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
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
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!
Instructor Details
- 4.6 Rating
2,195 Reviews
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.
More courses by Jan Schaffranek
Master Make and Makefile for C/C++ Projects (2024)
4.2 (1,141 Reviews)
Provider: Udemy
Time: 1.1h
$64.99
Quick Start to Modern C++ for Programmers [2026 Edition]
4.1 (745 Reviews)
Provider: Udemy
Time: 8.5h
$74.99
Python: Coding Guidelines, Tools, Tests and Packages [2024]
4.6 (717 Reviews)
Provider: Udemy
Time: 5.2h
$10.99
Computer Science Basics: The Magic behind the Bits and Bytes (2023)
4.6 (31 Reviews)
Provider: Udemy
Time: 6.2h
$59.99
More Software Development courses
MATLAB Programming Simulink: Beginner to Pro with ChatGPT (2026)
5.0 (930 Reviews)
Provider: Udemy
Time: 9.6h
$10.99
Build Web Apps with Nuxt.js 3: Master TypeScript & API [New] (2026)
4.9 (635 Reviews)
Provider: Udemy
Time: 6.7h
$19.99
Terraform 101: The Ultimate Hands-On Guide [Azure Edition] (2025)
4.8 (1,975 Reviews)
Provider: Udemy
Time: 11.9h
$94.99
Reviews
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.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 92 / 100


![Quick Start to Modern C++ for Programmers [2026 Edition]](/programming/c-plus-plus/images/4979226_3059_2.jpg?v=1789443380)
![Python: Coding Guidelines, Tools, Tests and Packages [2024]](/programming/python/images/3741094_d503_6.jpg?v=1791193618)




![Build Web Apps with Nuxt.js 3: Master TypeScript & API [New]](/programming/software-development/images/6457785_5adc_4.jpg?v=1789443959)

![Terraform 101: The Ultimate Hands-On Guide [Azure Edition]](/programming/software-development/images/6208847_f60a_7.jpg?v=1791193600)
