Ok, I'm always open to new build systems specifically tailored for C/C++ development. Let's keep reading...
"If you opt-in to have your library built by dds, you forgoe customizability in favor of simplicity and ease."
Hmm... but you just said the C/C++ build space is one of the most complex ones... how can you cater to this market with a one-size fits all approach? Let's keep reading:
"dds Is not Made for Complex Applications"
and
"Your Code Should Be Changed Before dds Should Be Changed"
Ehh... seems like it would only fit a small portion of real-word use cases.
For example, let's say I have a few support libraries that I can package using dds. Eventually I need to integrate these libraries with an actual application. What do I do then? As they said, dds is not made to support complex applications. Maybe my application is just a PITA to build with dds. What now? Have a separate build system just for the application? No, thanks.
Having a simple, coherent approach to building is definitely a feature. But being inflexible for the sake of it is definitely not. There's way too many options out there already.