Earlier quoted context omitted.
Build systems are far more complex than anyone thinks. If your build system doesn't cover all the weird things we do it is not usable at all.
But oth, nothing is better at dealing with edge cases and weird things than writing your build scripts in an actual programming language. All that an integrated C++ build system would do is add a new std::build API, and for the compiler to discover a build.cpp file, compile and run that to perform the build. All the interesting "build system stuff" stuff would be implemented as regular stdlib code. See Zig for a work…
good build systems need to bea real programming language. The more declaritive the better - this is different from the project that often should be a different style