CMake Tests and Tooling for CC Projects 2022 Edition

Learn to master modern CMake Projects, Unit Tests, Continuous Tools and more to use in your daily C/C++ workflow!
CMake Tests and Tooling for CC Projects 2022 Edition
File Size :
2.72 GB
Total length :
4h 8m



Jan Schaffranek


Last update




CMake Tests and Tooling for CC Projects 2022 Edition

What you’ll 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

CMake Tests and Tooling for CC Projects 2022 Edition


C/C++ Basics
Commandline Basics


Reviews:”Thank you Jan for this course which allowed me to learn enough about CMake and more. I am very happy.” (Cyrille Guetsop Guimapi)”Very profound and exciting course. Appropriate level andvery good speaker.” (Felix Maschek)”Am now almost through and very satisfied. I was looking for a good overview of (c)makefiles and its possibilities. The course is definitely recommended for this.” (Franz Gaar)”This exciting course provides solid knowledge about CMake and its use with other professional tools.” (Frank Behrendt)”Very comprehensive course for anyone interested in creating and maintaining professional software projects (in this case C++). Besides the basic understanding of Makefiles and the detailed introduction to CMake, best practices are not missed out. Working with GitHub, continuous integration tools, gtest and a benchmarking framework is also included.” (Steffen Lang)Course Description:You want to take the next step as a C/C++ developer to get a professional foothold in these exciting languages?Then my course is the right one for you.This course consists of the following topics: Installing the software for Windows, Linux and MacWorks for any GCC, Clang and MSVC Compiler CMake Tutorial (Libraries, Targets, Install etc.) Doxygen DocumentationVCPKG and Conan Package ManagerUnit Testing with Catch2Code Coverage and CI TestingTooling: LTO, Cppcheck, Clang-Tidy, Clang-Format, pre-commit, cmake-formatTooling: Sanitizers, Workflow in VSCode and VS2022Debugging and Running the Software.Become a professional today, in the technology of tomorrow!See you in class!


Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Windows: Software Installation – Part 1

Lecture 3 Windows: Software Installation – Part 2

Lecture 4 Linux: Software Installation – Part 1

Lecture 5 Linux: Software Installation – Part 2

Lecture 6 Mac: Software Installation

Lecture 7 Course Guide

Lecture 8 Course Materials

Lecture 9 Visual Studio Code Setup

Lecture 10 Windows: WSL in VSCode

Section 2: Modern CMake

Lecture 11 Prologue to the chapter

Lecture 12 Hello World Example

Lecture 13 CMake Command Line – Part 1

Lecture 14 Basic Project Strcuture

Lecture 15 Intermediate Project Structure

Lecture 16 Variables and Options

Lecture 17 CMake Command Line – Part 2

Lecture 18 Configure File

Lecture 19 Sources and Headers

Lecture 20 CMake Command Line – Part 3

Lecture 21 External Libraries with Git Submodule

Lecture 22 Dependency Graph – Part 1

Lecture 23 External Libraries with Fetch Content

Lecture 24 Doxygen Documenation

Lecture 25 Unit Testing with Catch2

Lecture 26 Dependency Graph – Part 2

Lecture 27 Public, Interface and Private

Lecture 28 Final Github Repository

Lecture 29 Compiler Warnings

Lecture 30 Clang-Tidy and Cppcheck

Lecture 31 Clang-Format and Cmake-Format

Lecture 32 Link Time Optimization (LTO)

Lecture 33 Sanitizer (Gcc und Clang)

Lecture 34 Install Conan and VCPKG

Lecture 35 Conan

Lecture 36 VCPKG

Lecture 37 Which Tool for external Libraries?

Lecture 38 Github Pages

Lecture 39 Code Coverage

Lecture 40 Github Actions

Lecture 41 Codecov

Lecture 42 Pre-Commit

Lecture 43 Install Command

Lecture 44 Shared vs. Static Library

Lecture 45 CMake GUI

Lecture 46 Windows: Visual Studio 2022 Project

Lecture 47 ImGui and C Template Project

Section 3: Conclusion

Lecture 48 Conclusion

Lecture 49 Bonus Lecture

Every C and C++ Programmer

Course Information:

Udemy | English | 4h 8m | 2.72 GB
Created by: Jan Schaffranek

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top