~/talk

Beyond Compilation Databases to Support C++ Modules: Build Databases

Talkat CppCon 2024 · on Wednesday, 2024-09-18· at 15:15· Spruce 3/4, 6700 North Gaylord Rockies Boulevard· [nodejs]
links:none on file
slides:none on file

Clang-style compile_commands.json cannot describe C++ modules so a new JSON format (P2977) records ordered sets and families of translation units, per-unit BMI paths, visibility (private/public), baseline and local args, and a uniqueness constraint on object outputs. CMake implements experimental export to build_database.json (CMake 3.31, Ninja generator only) by running scan/collation steps (a few build targets) during the build. It works today for C++ TUs but lacks broad generator and cross-flag compatibility support yet.

AI-written summary · about

  1. 0:00Introduction
  2. 1:25Compilation databases limits
  3. 6:04C++ modules complexity
  4. 10:17CMake and C++ modules
  5. 13:32Missing data in compilation DBs
  6. 16:26Build databases solution
  7. 24:41Build DB standardization status
  8. 26:51Generating build DB with CMake
  9. 31:32Q&A: Module installation
  10. 33:36Q&A: Build DB output scaling
  11. 34:40Q&A: Faster builds with modules
  12. 35:45Q&A: AST analysis with build DB
  13. 37:31Q&A: Custom build steps
  14. 40:01Q&A: Build DB tool support
  15. 41:04Q&A: Codegen from module interfaces
  16. 43:10Q&A: Module adoption hurdles
  17. 44:37Q&A: Build DB with generated sources
  18. 46:22Q&A: IDE integration
  19. 47:08Q&A: Incompatible flags timeline
~/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.