- Problems associated with NOT using a build system
- Difference between a build system (Make) and a meta-build system (CMake).
- Installation of CMake
- First executable using the CMake
- Managing large projects using sub-directories
- Variables, Lists, and Strings
- Scripting Capabilities of CMake
- Flow Control commands (If-else commands and the Loops)
- Functions, Scopes, Macros, Modules, and Listfiles.
- Configuring a project using Cache Variables
- Concept of Libraries
- Using Ninja Build System with CMake
- Installation a package that is developed by someone else
- Export our package so that someone else can use it
- Miscellaneous small concepts, FAQs and tips
- Problems while installing and using External Libraries
- Using External Libraries developed using both CMake and Non-CMake based build systems