Broaden dependency cleanup
prune-deps handles target names and library lists stored in CMake variables, including loops and functions. A test project with 40 unused libraries still needs one trial and a final check. Shared variable definitions stay unchanged.
On XGrammar, removing an unused dependency avoids a roughly 32-second link after a GoogleMock source edit. The parser edit remains inconclusive. This is a targeted rebuild gain. Dependency cleanup has not yet shown a clean-build speedup on these projects.
Try a new project from Actions → Evaluate a repository. The CI guide explains the inputs.
Next steps
- Diagnose MuJoCo's rejected link changes using the saved before/after commands, without relaxing the identical-binary checks.
- Follow up on the compact Highway draft, then use the generic workflow to check new projects. Keep only cleanups with useful measured savings.
- Handle compiler response files safely, so projects do not need a module-scanning workaround for this search.
The dependency results separate the test project from the real-project measurements. No eligible removal means the supported search found none, not that every dependency is necessary.
Later
Explain which dependency causes each rebuild. Then use measured symbol usage to assess smaller, specialized targets. A large static library alone does not justify splitting it: the linker already picks the object files it needs.