
In this video I will tell you some common information about online learning in general and how to have a great course experience.
I will update this with answers to commonly asked questions.
In this video, I shortly introduce the course and the sections.
In this short video I show you how to install everything needed to follow the main part of this course.
This article provides you with links to all of the tools that I might use throughout the course.
This is a short introduction to what we will be learning in this section.
An overview of the compilation process of C++ programs. Will be useful later for understanding different settings that we control with CMake as well as cross-compilation settings that we will use later.
Here I show you how a typical Visual Studio project is set up. I focus on the project management part and not on the actual source editing experience. Keep in mind that this is the nicest and most visual of the systems that allow you to manage a C++ project. Makefiles are even harder to manage.
A brief description of the role of CMake in managing your project.
A command line basics tutorial that you would need to know to follow along with the rest of this course.
Here I show you how you can setup 3 of the IDEs available for C++ development. These are VS Code, Visual Studio 2022 and CLion.
A little more info on how to follow through the course if no matter if you choose an IDE or not.
We write our first CMake code in the typical programming "Hello, World!" example.
Summary and brief on what is to follow.
Reviews:
"Awesome course. I wanted to learn CMake a long time ago, but every time I tried to learn, I just felt overwhelmed by the sources. This course gives a really good step-by-step approach, with a good didactic." - Andre Aranha
"Totally recommend this course; the mentor teaches each and ever aspect of CMake also he answers every query"—Million Stinger_S
"Very knowledgeable instructor! If you're interested in C and/or C++, even as a hobby, you'll need to learn CMake. This course covers everything you need to start and work on both small and large projects. It includes topics like dependency management, testing, and packaging. You can't go wrong with this one." - Fellipi Carmo
"The course is suitable for beginners and advanced users who want to improve their CMake knowledge." - Victor Stoykov
Description:
This course is all about CMake. CMake is an application that helps you structure C/ C++-based native projects, generate build commands for the target platform, build your application, pack it into an installer, install it, test it, and it will even help you with managing your dependencies.
In this course, you will learn:
How to use CMake to structure and compile your C/C++ projects
How to manage your dependencies
How to get your project compiled for the web using Emscripten
How to include unit tests and test your application
How to customize the build pipeline with your own tools (if you want to do your own custom build steps)
How to compile other projects that support CMake and even ones that do not
How to install and package your project
Bonus snippets include some advanced setups like documentation using Doxygen
In the end, you will have all the knowledge needed to be able to open up a random CMake project and compile it yourself. You will also be able to confidently start and write your own CMake scripts for your projects. This will elevate your programming experience with the low-level C/C++ languages, and it will also simplify a lot of the hard concepts related to those languages.
This course is primarily taught on the Windows OS, but the knowledge gained can easily translate into other operating systems as well.