Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Life Purpose Meditation Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Blender
30-Day Money-Back Guarantee

This course includes:

  • 3.5 hours on-demand video
  • 8 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
Development Development Tools C++

Master CMake for Cross-Platform C++ Project Building

Learn the most powerful and recommended way of building the C++ projects
Rating: 4.4 out of 54.4 (543 ratings)
2,204 students
Created by Milan Yadav
Last updated 12/2020
English
English
30-Day Money-Back Guarantee

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

Course content

10 sections • 46 lectures • 3h 27m total length

  • Before You Begin
    00:24
  • Preview07:40
  • Need of Build Systems
    03:15
  • Need of Meta Build System
    03:34
  • Project Compilation
    2 questions

  • CMake Installation
    05:58
  • Preview03:43
  • Preview04:39
  • Generating the First Library
    02:55
  • Targets' Properties and Dependencies
    02:14
  • FAQ on Targets
    03:31
  • Targets
    4 questions

  • Sub-directories
    06:54
  • Managing Header Files
    04:00
  • CMake way of Including the Header Files
    03:40
  • Target Properties and Propagation Scopes
    02:39
  • Propagation of Target Properties
    06:27

  • Normal Variables
    06:02
  • Quoted and Unquoted Arguments
    02:52
  • Manipulating Variables
    05:09
  • Lists and Strings
    05:57
  • Variables
    2 questions

  • If-Else Command
    10:27
  • Looping Commands
    05:31
  • Functions
    04:20
  • Optional Arguments of Functions
    04:41
  • Scopes
    06:48
  • Target Properties Propagation
    1 question
  • Macros
    04:12
  • Functions & Macros
    3 questions
  • Listfiles and Modules
    01:37

  • Setting a Cache Variable
    04:41
  • Modification of Cache Variables
    03:57
  • Cache Variables: CMAKE_VERSION, CMAKE_PROJECT_NAME, CMAKE_GENERATOR
    06:44

  • Requirements for Installing/Exporting Package
    01:57
  • Installation Process of Packages
    04:14
  • Exporting a Package
    04:17
  • Using a 3rd party Package in our Project
    05:44

  • Introduction
    00:05
  • Commenting in CMake
    00:41
  • Using CMake variables in CPP files
    00:19
  • Running CMakeLists.txt in Script mode
    00:29
  • Debug/Release Mode
    00:59

  • Problems with Linking External Libraries
    04:49
  • Preview06:03
  • Preview06:45
  • Using External Package
    1 question
  • Using Pkg-Config to link GTK3 Library
    10:36
  • pkg_check_modules() v/s pkg_search_module() commands
    1 question
  • find_library() and find_path() commands
    06:54
  • Writing a Find* module
    17:34
  • Read Through: FindGTK3.cmake
    00:34

  • Bonus Lecture
    00:33

Requirements

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

Description

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 library


Enroll 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:

  1. Section 1:

    1. Problems associated with NOT using a build system

    2. Difference between a build system (Make) and a meta-build system (CMake).

  2. Section 2:

    1. Installation of CMake

    2. First executable using the CMake

  3. Section 3:

    1. Managing large projects using sub-directories

  4. Section 4:

    1. Variables, Lists, and Strings

    2. Scripting Capabilities of CMake

  5. Section 5:

    1. Flow Control commands (If-else commands and the Loops)

    2. Functions, Scopes, Macros, Modules, and Listfiles.

  6. Section 6:

    1. Configuring a project using Cache Variables

    2. Concept of Libraries

    3. Using Ninja Build System with CMake

  7. Section 7:

    1. Installation a package that is developed by someone else

    2. Export our package so that someone else can use it

  8. Section 8:(Read through Section)

    1. Miscellaneous small concepts, FAQs and tips

  9. Section 9:

    1. Problems while installing and using External Libraries

    2. Using External Libraries developed using both CMake and Non-CMake based build systems


Enroll Now and enjoy the 3.5-hours ride to learn the most powerful way of building the C++ projects.

Who this course is for:

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

Instructor

Milan Yadav
Robotics Enthusiast & Active Researcher
Milan Yadav
  • 4.4 Instructor Rating
  • 557 Reviews
  • 2,265 Students
  • 2 Courses

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 Udemy focusses on the above mentioned programming languages, or my research areas. Since the topics I deal with are sometimes intimidating for the beginners to learn, I follow the step-by step method for explaining why each step needs to be carried out.

Enroll to my courses if want to get to the core of the most recent technical topics.

Contact: milanscourse@gmail.com

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.