Modern CMake for C++
Learn how to use CMake in C++ projects for building, testing, packaging automation, optimizing compilation, and choosing the right tools for efficient project setup.
Join 3.1 million developers at
What You'll Learn
- A deep understanding of the steps involved in the software build process
- Working knowledge of the automation process of complex tasks in the building project
- Familiarity with the different options available to build software
- Hands-on exposure to navigating through the project structure, scripts, and modules to build maintainable and clean solutions
- Hands-on practice with different CMake tools to configure, run, and generate test results
- Hands-on experience in applying the end-to-end CMake process to build, test, and package C++ projects
Learning Roadmap
2.
First Steps with CMake
First Steps with CMake
3.
The CMake Language
The CMake Language
12 Lessons
12 Lessons
4.
Setting Up Our First CMake Project
Setting Up Our First CMake Project
10 Lessons
10 Lessons
5.
Working with Targets
Working with Targets
9 Lessons
9 Lessons
6.
Compiling C++ Sources with CMake
Compiling C++ Sources with CMake
9 Lessons
9 Lessons
7.
Linking with CMake
Linking with CMake
8 Lessons
8 Lessons
8.
Managing Dependencies with CMake
Managing Dependencies with CMake
10 Lessons
10 Lessons
9.
Testing Frameworks
Testing Frameworks
10 Lessons
10 Lessons
10.
Program Analysis Tools
Program Analysis Tools
7 Lessons
7 Lessons
11.
Generating Documentation
Generating Documentation
4 Lessons
4 Lessons
12.
Installing and Packaging
Installing and Packaging
13 Lessons
13 Lessons
13.
Creating Our Professional Project
Creating Our Professional Project
9 Lessons
9 Lessons
15.
Appendix
Appendix
6 Lessons
6 Lessons
Packt
A tech learning platform that provides online courses, eBooks, videos, and other resources to help individuals and organizations stay ahead of emerging and popular technologies.
Trusted by 3.1 million developers working at companies
Anthony Walker
@_webarchitect_
Evan Dunbar
ML Engineer
Software Developer
Carlos Matias La Borde
Souvik Kundu
Front-end Developer
Vinay Krishnaiah
Software Developer
Built for 10x Developers












Free Resources