~/talk

Modern CMake Modules

Talkat CppCon 2021 · on Wednesday, 2021-10-27· at 14:00· online· [devops-and-delivery]
slides:none on file

Bloomberg describes using dozens of single-purpose CMake modules to keep tens of thousands of CMakeLists.txt simple and declarative and reports surprising scale: about 10,000 projects adopting these modules. The talk shows how modules declare imported targets, handle tricky cases like cyclic prebuilt libraries, and bake code generation into a C++ project so builds remain transparent. It gives concrete module APIs, defensive argument checks, install layout and test workflows, and when not to write a module.

AI-written summary · about

  1. 0:00Start
  2. 1:37Why Cmake Modules
  3. 4:49Coding with Cmake
  4. 7:47What Can I Do with the Cmake Module
  5. 8:08Bi-Directional Build Metadata Support
  6. 9:23Code Generation
  7. 10:39Importing Libraries
  8. 11:30Design Principles
  9. 12:09Overview
  10. 15:58Avoid Version Control Operations
  11. 18:17Cmake and the Configure Build Test Install Workflow
  12. 19:53Be Careful about Requiring Special Build Targets
  13. 24:02Config Packages
  14. 25:31Example Problem
  15. 26:30Git Ignore
  16. 29:47Defensive Argument Parsing
  17. 30:42Defensive Argument Checking
  18. 32:43Essential for Cmake Modules
  19. 35:09Test Fixtures
  20. 36:01Verbosity Settings
  21. 36:46Installing a Cmake Module
  22. 40:27Enable Testing
  23. 41:49Environment Variables
  24. 45:32Integration Workflow
  25. 47:48Why Do You Use Config Modules Instead of Cmake Modules in the Cmake Module Path
  26. 51:16Cache Variable
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.