Are there any existing build systems with the following criteria?
- Nestable/Recursive. I.e. there is no "top" level build file like in CMake or (non-recursive) make or just about every other build system.
- In-source builds. This is required for a build system to be cleanly nestable/recursive.
- Automatic dependency scanning for many languages
- Configuration files with declarative rather than imperative syntax
- Configuration file Syntax supports adding arbitrary custom build rules
- No IDE project generation bloat
- No showstoppers for cross-platform implementation
- Hash based change detection (or at least ~something) better than timestamps
- Free software
Basically, I want something that is up to the task of managing software build dependencies system-wide, but is still minimalist and efficient. I want a spiritual successor to make that is adoptable by a majority of the open-source world. What comes the closest?