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
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 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.
Overview
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
Lecture 29 Cache Variables: CMAKE_VERSION, CMAKE_PROJECT_NAME, CMAKE_GENERATOR
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 CourseDown.com