Master CMake for CrossPlatform C Project Building

Learn the most powerful and recommended way of building the C++ projects
Master CMake for CrossPlatform C Project Building
File Size :
2.03 GB
Total length :
3h 27m



Milan Yadav


Last update

Last updated 1/2022



Master CMake for CrossPlatform C Project Building

What you’ll learn

CMake Commands and Terminologies
Importance of Make and CMake
Importing and Exporting Packages
CMake’s Scripting Mode
Configure Project Building using Cache Variables
Linking against External Libraries

Master CMake for CrossPlatform C Project Building

Master CMake for CrossPlatform C Project Building-screenshot


Basic Understanding of C or C++ programming language
For following along, a Linux based Computer is required


Learning CMake was never so easy! Welcome to the course Master CMake for Cross-Platform C++ Project Building, where you will learn the CMake tool from the beginning. After completing this course, you’ll be able to Build CMake based projects, Export your project, and Link your executable against any CMake/ Non-Cmake based libraryEnroll Now and enjoy the 3.5-hours ride to learn the most powerful way of building the C++ projects.This course is made after extensive research on Stackoverflow, Quora, Reddit, Youtube, and other Q&A websites to handpick the concepts which are difficult to understand for the beginners. The course starts with compiling a simple C++ code; and, over the modules, various functionalities are added as the complexity increases.The broad outline of the course is as follows:Section 1:Problems associated with NOT using a build systemDifference between a build system (Make) and a meta-build system (CMake).Section 2:Installation of CMakeFirst executable using the CMakeSection 3:Managing large projects using sub-directoriesSection 4: Variables, Lists, and Strings Scripting Capabilities of CMakeSection 5:Flow Control commands (If-else commands and the Loops)Functions, Scopes, Macros, Modules, and Listfiles.Section 6:Configuring a project using Cache VariablesConcept of LibrariesUsing Ninja Build System with CMakeSection 7:Installation a package that is developed by someone elseExport our package so that someone else can use itSection 8:(Read through Section)Miscellaneous small concepts, FAQs and tips Section 9:Problems while installing and using External LibrariesUsing External Libraries developed using both CMake and Non-CMake based build systemsEnroll Now and enjoy the 3.5-hours ride to learn the most powerful way of building the C++ projects.


Section 1: Introduction

Lecture 1 Before You Begin

Lecture 2 Building a C++ Project using G++

Lecture 3 Need of Build Systems

Lecture 4 Need of Meta Build System

Section 2: CMake Installation and Building the First Target

Lecture 5 CMake Installation

Lecture 6 Build Files Generation Process

Lecture 7 Generating the First Executable using CMake

Lecture 8 Generating the First Library

Lecture 9 Targets’ Properties and Dependencies

Lecture 10 FAQ on Targets

Section 3: Managing Project Files and Folders using Subdirectories

Lecture 11 Sub-directories

Lecture 12 Managing Header Files

Lecture 13 CMake way of Including the Header Files

Lecture 14 Target Properties and Propagation Scopes

Lecture 15 Propagation of Target Properties

Section 4: Variables, Lists and Strings

Lecture 16 Normal Variables

Lecture 17 Quoted and Unquoted Arguments

Lecture 18 Manipulating Variables

Lecture 19 Lists and Strings

Section 5: Control Flow Commands, Functions, Macros, Scopes and Listfiles

Lecture 20 If-Else Command

Lecture 21 Looping Commands

Lecture 22 Functions

Lecture 23 Optional Arguments of Functions

Lecture 24 Scopes

Lecture 25 Macros

Lecture 26 Listfiles and Modules

Section 6: Cache Variables

Lecture 27 Setting a Cache Variable

Lecture 28 Modification of Cache Variables


Section 7: Installing and Exporting Package

Lecture 30 Requirements for Installing/Exporting Package

Lecture 31 Installation Process of Packages

Lecture 32 Exporting a Package

Lecture 33 Using a 3rd party Package in our Project

Section 8: Tips/FAQs

Lecture 34 Introduction

Lecture 35 Commenting in CMake

Lecture 36 Using CMake variables in CPP files

Lecture 37 Running CMakeLists.txt in Script mode

Lecture 38 Debug/Release Mode

Section 9: Linking External Libraries

Lecture 39 Problems with Linking External Libraries

Lecture 40 Installation of OpenCV (External Package)

Lecture 41 Using OpenCV in a Project

Lecture 42 Using Pkg-Config to link GTK3 Library

Lecture 43 find_library() and find_path() commands

Lecture 44 Writing a Find* module

Lecture 45 Read Through: FindGTK3.cmake

Section 10: Bonus

Lecture 46 Bonus Lecture

Beginners, interested in learning the build process of C or C++ projects,Anyone, who wants to understand the CMakeLists files written by the community

Course Information:

Udemy | English | 3h 27m | 2.03 GB
Created by: Milan Yadav

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

New Courses

Scroll to Top