If it takes you too long, maybe you're doing it wrong then? Are you sure you are solving a real problem with it?
I don't mean to insult you, so please don't take this the wrong way... The Point I want to make is this:
Is it even a reasonable project to build a build system that does everything for everybody? It would appear -- from plenty of evidence around in most open-source projects -- that mostly each of them had to work around at least a couple of restrictions in their off-the-shelf build-system, and I haven't seen a reasonable sized project that got away without additional scripting.
So if the developer already has the need for custom scripting, why not take python? And if it Takes less Time+LOC to roll your own project-customized build-system than it would take you to integrate a "general-purpose" build-system... There is a very strong case for a small python script like the one presented here.
This is awesome! Instead of getting all mixed up in the discussion about which of the existing build-systems is best, and instead of trying to figure out how to work around all of the (mostly arbitrary from user perspective) restrictions, it is a very rational and pragmatic choice to just get it done and make it do what you want.
Let me be honest, the last step of doing all myself was quite a time sink over the last 3 weeks. But in the end I've learned something that will be of use in the future. I don't think this applies equally to the time I've put in off-the-shelf systems.
I completely agree!
All the hours (more like days/weeks) I already spent trying to make CMake do what I want... It only strengthens my dependency on CMake in the end :-/