July 23, 2023

Things That Surprised Me About CMake

Intro In my current job for the past year I have been using CMake for all my C++ development, working on financial software in a large CMake project with hundreds of executable targets and around 3 million LoC. In the course of getting up to speed on CMake, I ran into some things that surprised me. Implicit includes This is a simple one - when you specify a dependency with target_link_libraries, if the CMake rule that builds that target has specified its Public include directories via target_include_directories, then those include files are propogated. Read more

© Gabriel Dougherty 2019-2025