mpv is a very complex project where the top-level build file alone has over 1800 lines
on my aging laptop, muon (c99 implementation of meson) configures it with most things enabled in about 1.7 seconds. that’s almost 3 times as fast as meson, which already outperforms most other cross-platform build systems. and then the build with samu is also about 1.4 times as fast as with meson+ninja.
i’m a big fan of build systems that allow fast iterations. mpv’s coding style is also conducive to that because it avoids preprocessor variables in favor small compilation units, which not only makes the build system easier to reason about but also minimizes the amount of code that needs to be recompiled when the configuration changes. we have link-time optimization nowadays, so that’s definitely the way to go
also, muon won’t generate a 'clean' target. and that’s actually kinda based because a working build system should NEVER:
  * pollute the source tree
  * fail at cache invalidation for project-local build inputs and thus fail to recompile/relink objects that need it
  * yield different build results just because the build directory was dirty
  * make it hard to recreate a particular build configuration
  * make it hard to discern which files are generated by the build system
almost all build systems fail at this simply because their language is not purely declarative, which means that developers using them will make mistakes no matter how easy they are to avoid