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