Course Stats

  • Total Duration: 3.5 Hours
  • Last Updated: Dec 2020
  • Audio: English
  • Subtitles: English
  • Students Enrolled: 2117

What will You Learn?

  1. CMake Installation
  2. CMake  Commands and Terminologies
  3. Importance of Make and CMake
  4. Importing and Exporting Packages
  5. CMake's Scripting Mode
  6. Configure Project Building using Cache Variables
  7. Linking against External Libraries


  • Basic Understanding of C++ or Python Programming languages
  • Some Experience of Linux terminal will be helpful (Not Mandatory)
  • Some Experience of CMake will be helpful (Not Mandatory)

Course Curriculum

  • 1


  • 3

    Managing Project Files and Folders using Subdirectories

    • Sub-directories

    • Managing Header Files

    • CMake way of Including the Header Files

    • Target Properties and Propagation Scopes

    • Propagation of Target Properties

  • 4

    Variables, Lists and Strings

    • Normal Variables

    • Quoted and Unquoted Arguments

    • Manipulating Variables

    • Lists and Strings

  • 5

    Control Flow Commands, Functions, Macros, Scopes and Listfiles

    • If-Else Command

    • Looping Commands

    • Functions

    • Optional Arguments of Functions

    • Scopes

    • Macros

  • 6

    Cache Variables

    • Setting a Cache Variable

    • Modification of Cache Variables


  • 7

    Installing and Exporting Package

    • Requirements for Installing/Exporting Package

    • Installation Process of Packages

    • Exporting a Package

    • Using a 3rd party Package in our Project

  • 8


    • Commenting in CMake

    • Using CMake variables in CPP files

    • Running CMakeLists.txt in Script mode

    • Debug/Release Mode

  • 9

    Linking External Libraries

    • Problems with Linking External Libraries

    • Installation of OpenCV (External Package)

    • Using OpenCV in a Project

    • Using Pkg-Config to link GTK3 Library

    • find_library() and find_path() commands

    • Writing a Find* module

    • FindGTK3.cmake

Salient Features

By enrolling to this course, you will also have the access to the following:

  • Query Resolution

    Any question related to the course will be answered within 24 hours

  • Quiz

    Handpicked questions, to check your understanding at every stage

  • Certificate

    A Certificate of Completion, after finishing 100% of the course

  • Money Back Guaranteee

    100% of the course fee will be refunded if you are unsatisfied with our services. Refund must be claimed within 10 days of course enrollment


Robotics Enthusiast & Active Researcher

Milan Yadav

Robotics, Sensors, Deep Learning, and High Performance Computing are my current research areas. While working on these fronts, I have developed an expertise in C, C++, Python, Bash, and MATLAB programming languages. I have graduated with a master’s degree in Control and Computing from IIT Bombay, India. My course at focusses on the above mentioned programming languages, or my research areas. Enroll to my courses if want to get to the core of the most recent technical topics.

Learning CMake was never so Easy!

Take your development career to new heights by mastering the CMake Tool