Managing C++ Projects Using CMake
Using Google Benchmark
Adding benchmarks to our build to measure the performance of our code, and track how it changes over time
Managing C++ Projects Using CMake
Using Clang-Tidy
Integrating Clang-Tidy to enforce good practices and find bugs before we even compile
Managing C++ Projects Using CMake
Managing a Test Suite
Move beyond individual tests to manage a full test suite. Learn to organize tests, run tests in parallel, filter by labels, and measure our code coverage
Managing C++ Projects Using CMake
Using AddressSanitizer (ASan)
Learn to find memory bugs at runtime by integrating AddressSanitizer (ASan) into a CMake project
Managing C++ Projects Using CMake
Dependency Injection and Mocking
Learn how to isolate dependencies that our project uses, and then how to replace those dependencies at test time using Google Mock.
Managing C++ Projects Using CMake
Testing Executables
Learn the standard pattern for testing application logic by refactoring it into a linkable library
Professional C++
C++20 Modules
A detailed overview of C++20 modules - the modern alternative to #include
directives. We cover import
and export
statements, partitions, submodules, how to integrate modules with legacy code, and more.
Game Development with SDL2
SDL2 Timers and Callbacks
Learn how to use callbacks with SDL_AddTimer()
to provide functions that are executed on time-based intervals
Managing C++ Projects Using CMake
Integrating GoogleTest with CMake
Learn to refactor manual C++ tests into a professional test suite using the GoogleTest framework, managed by vcpkg and integrated with CTest.
Managing C++ Projects Using CMake
Assertions and Parameterized Tests
Learn to use a wide range of assertions, write data-driven parameterized tests, and isolate dependencies with Google Mock.
Managing C++ Projects Using CMake
Cross-Compilation and Toolchain Files
Learn to build for different operating systems and architectures using CMake's cross-compilation support and toolchain files.