Professional CMake: A Practical Guide 16th Edition

The 16th Edition of the book Professional CMake: A Practical Guide is now available (finally!). It has been updated for the CMake 3.27 release. There’s quite a bit of new material, but two main areas in particular are worth highlighting:

  • Two new chapters were added to cover static and dynamic code analysis. These explain how to use tools like clang-tidy, cppcheck, cpplint and include-what-you-use, and also how to set up and use sanitizers and code coverage.
  • The first five chapters of the book are now made available for free as a Getting Started guide. A new chapter was also added for this to cover the basics of testing and deployment.

More detailed release notes are available. As usual, the book is available exclusively from



Great work! Thank you for such an amazing book, Craig!
But it seems it’s time to update it for the CMake 3.28.1 release, issuing 17th Edition :slight_smile:
C++20 modules rock! It’s good to see finally C++20 modules support in CMake. Looking forward to use them with upcoming Clang and GCC releases under Linux.