Managing C++ Projects Using CMake
Build Configurations (Debug, Release, etc.)
Learn how CMake manages different build configurations like Debug and Release, the difference between generator types, and how to apply settings conditionally using modern techniques.
Managing C++ Projects Using CMake
Cross-Platform Configurations
Learn the tools and patterns needed to write portable CMakeLists.txt files that work seamlessly across platforms and compilers
Intro to C++ Programming
Member Initializer Lists
This lesson introduces Member Initializer Lists, focusing on their advantages for performance and readability, and how to use them effectively
Game Development with SDL2
Creating a Window
Learn how to create and customize windows, covering initialization, window management, and rendering
Game Development with SDL2
Rendering Text with SDL_ttf
Learn to render and manipulate text in SDL2 applications using the official SDL_ttf
extension
Managing C++ Projects Using CMake
Building and Running CMake Projects
Learn the two-stage process of building a CMake project. This lesson covers configuring, generating, building, running, and troubleshooting common errors.
Managing C++ Projects Using CMake
Relationships Between Targets
Learn about target types, and how the PUBLIC
, PRIVATE
, and INTERFACE
keywords control how properties are shared.
Managing C++ Projects Using CMake
Using INTERFACE
, ALIAS
, and IMPORTED
Libraries
Learn to use abstract target types like INTERFACE
, ALIAS
, and IMPORTED
to model complex project needs, organize build properties, and integrate pre-compiled binaries.
Managing C++ Projects Using CMake
Using Shared Libraries
Adding support for user-configurable library types and an initial introduction to target installation.