Section 1:

  • Problems associated with NOT using a build system
  • Difference between a build system (Make) and a meta-build system (CMake).

Section 2:

  • Installation of CMake
  • First executable using the CMake

Section 3:

  • Managing large projects using sub-directories

Section 4:

  • Variables, Lists, and Strings
  • Scripting Capabilities of CMake

Section 5:

  • Flow Control commands (If-else commands and the Loops)
  • Functions, Scopes, Macros, Modules, and Listfiles.

Section 6:

  • Configuring a project using Cache Variables
  • Concept of Libraries
  • Using Ninja Build System with CMake

Section 7:

  • Installation a package that is developed by someone else
  • Export our package so that someone else can use it

Section 8:(Read through Section)

  • Miscellaneous small concepts, FAQs and tips

Section 9:

  • Problems while installing and using External Libraries
  • Using External Libraries developed using both CMake and Non-CMake based build systems