~/talk

Things I Learnt While Trying to Avoid Becoming a CMake Expert

Talkat ACCU 2022 · 2022-04-06..04-09· [software-architecture, c-and-cpp]
name:CB Bailey
links:none on file
slides:none on file

Maintains several widely used CMake modules and shows concrete patterns: using ninja for fast incremental builds, preferring out-of-source builds, and generating files with configure_file to create a small library_info module that compiles and links correctly. Demonstrates tradeoffs between configure-time vs build-time code generation, target_link_libraries propagating include paths via PUBLIC, and gotchas with cache variables persist across runs (delete the build dir to reset). Includes demos that build an executable and static library successfully.

AI-written summary · about

  1. 0:00Introduction
  2. 1:36Welcome
  3. 3:06What is CMake
  4. 8:56Why use CMake
  5. 15:21Configuration
  6. 16:21Build
  7. 20:18CMake List
  8. 23:04Demo
  9. 32:05Naming Targets
  10. 38:39Target Link Libraries
  11. 43:17Demo Time Linking
  12. 44:30Linking Errors
  13. 46:50Rerun the Build
  14. 49:18Target Include Directory
  15. 49:58Generated Print
  16. 52:51Types of Variables
  17. 53:12Regular Variables
  18. 54:13Dynamic Scopes
  19. 54:42Cache Scopes
  20. 55:19Environment Variables
  21. 59:01Cache Bad Values
~/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.