Menu Share

My CMake Course is out!

by | Published on
category CMake

My first ever course is out on Udemy. This is a big step for me and I have published a lot of articles on this blog that are related to CMake and CMake for game development. The course covers a few more topics though and has some useful snippets in the end that you can use in production.

Table of Contents


How to get the course?


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 as well as how to manage your dependencies. I will talk about cross-platform development and even how to get your project compiled for the web using Emscripten. Then I will show you how to include unit tests and test your application. There is also a section on customizing the build pipeline with your own tools (if you want to do your own custom build steps). You will also be able to learn how to compile other projects that support CMake and even ones that do not. We will finish up with how to install and package your project.

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.

What You’ll Learn

  • CMake
  • Project Structure for C/C++
  • Third-party package management
  • Running your own tools on build
  • Compiling for the web through Emscripten
  • Including a test framework to your project
  • Creating an installable package
  • Bonus: More advanced code snippets

What You have to know

  • Understand C/C++
  • Knowledge about basic programming concepts

Leave a comment

Your email address will not be published. Required fields are marked *