Managing C++ Projects Using CMake
Using Clang-Format
Using the Clang-Format tool to automatically enforce a consistent coding style, and integrating it into our build using a custom CMake target
Managing C++ Projects Using CMake
Using File Sets
An introduction to file sets and the target_sources()
command, allowing us to manage our header files in a more controlled way
Game Development with SDL2
Callbacks and Function Pointers
An introduction to first-class functions, function pointers, and the flexible design options that they unlock
Managing C++ Projects Using CMake
Custom Targets and Build Utilities
Learn to create standalone, non-code targets using add_custom_target() for utility tasks like code formatting and documentation generation.
Game Development with SDL2
Ticking
Using Tick()
functions to update game objects independently of events
Managing C++ Projects Using CMake
Integrating Tools with add_custom_command()
Learn how to attach commands to specific points in a target's build lifecycle using add_custom_command(TARGET)
for tasks like post-build file copying.
Managing C++ Projects Using CMake
CMake Presets
Learn the fundamentals of CMake Presets. This lesson introduces CMakePresets.json
to simplify complex build commands.
Game Development with SDL2
Engine Overview
An introduction to the generic engine classes we'll use to create the game
Managing C++ Projects Using CMake
User Presets and Inheritance
Learn to structure your CMake presets with inheritance and customize them for your local environment using CMakeUserPresets.json
.