CMake for the Impatient
summary
Shows a working minimal CMakeLists.txt that builds main.cpp into world.exe using real commands cmake -B bin then cmake --build bin, and demonstrates generator switching between Visual Studio, GNU make and Ninja (Ninja is notably faster). Shows dependency inference: changing a header triggers incremental rebuild without rerunning configuration. Pulls third‑party code with fetch_content (GoogleTest, Catch2) and finds packages like SFML with find_package, including debug vs release link choices. Continuous integration and cross‑toolchain builds are proven feasible.
AI-written summary · about
chapters (9)
- 0:00CMake introduction
- 4:44Why learn CMake
- 10:06Basic project setup
- 20:00Ninja build system
- 27:58CMake vs Make
- 34:08Simple CMake examples
- 45:57Third-party dependencies
- 51:21Large project structure
- 53:53Q&A
related talks
01h 34mThings I Learnt While Trying to Avoid Becoming a CMake Expert
46mBuilding and Packaging Modern C++
01h 04mBetter CMake: A World Tour of Build Systems - Better C++ Builds
01h 04mCMake and Conan: past, present and future
01h 00mHow to start a modern C++ project
33mBehind the Scenes of a C++ Build System
01h 01mClean CMake for C++ (library) developers
01h 18mIntegrating C++ Code Generation Into a Large CMake Build
