rules/c/cmake/graph_replay.js
Developer reference: this page includes exported implementation details. BUILD authors should prefer the User API reference.
cmakeProjectSpec()
cmakeProjectSpec(opts = {})
Undocumented.
configureCmakeProject()
configureCmakeProject(spec)
Configure a CMake project with the Ninja generator and parse the resulting build graph. One task per project — real memoization (unlike the legacy discoverCmakeLabels(), which reconfigured on every call). build dir, an artifact), .outputs.ninjaGraph (a plain JSON value), and .outputs.sourcePaths (the exact workspace paths captured by srcs).
| Parameter | Type | Description |
|---|---|---|
| spec | object | From cmakeProjectSpec(). |
Returns: object Task handle with .outputs.directory (the configured
correlateCTestEntries()
correlateCTestEntries(ninjaGraph)
Undocumented.
basename()
basename(path)
Undocumented.
isCmakeCompilerEdge()
isCmakeCompilerEdge(edge, rules)
Undocumented.
parseNinjaDeps()
parseNinjaDeps(text)
Undocumented.
scanCmakeCompilerInputs()
scanCmakeCompilerInputs(spec, configured)
Run CMake's compiler rules in syntax-only mode once, then return the workspace headers Ninja recorded for each compiler edge. This task sits before expand(), so its value can shape later replay tasks without any action feeding data back into its own cache key.