Skip to content

Conversation

@Ivorforce
Copy link
Member

@Ivorforce Ivorforce commented Nov 8, 2025

Our current SCU (single compile unit) implementation uses globbing to put files into shared targets.

In my mind, this is too complicated. Instead, I propose to simply use the add_source_files calls to group files.
This simplifies the SCU system, and gives it a speed boost too:

  • 4m32s on master
  • 3m47s on scu-no-glob (17% / 45s improvement)

In the future, this implementation could be expanded to auto-group subsequent add_source_files calls, to further reduce how many SCU files are generated.
Or, we simply reduce the amount of subsequent add_source_files calls by grouping manually.

TODO

This implementation needs to be cleaned up. In particular, the code probably needs a better home, the scu files need better names / paths, and we could probably use the new semantics to squeeze out more speed. I'm also not sure how expected it is to generate those cpp files on the fly.
It also looks like it's failing on other systems. Probably just some internal paths that are SCU incompatible due to weird headers. Notably, it works on macOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant