Thanks for suggesting dub, will check it out. Also premake seems to support D so that is another option.
Another alternative is reggae which supports mixed code base: https://github.com/atilaneves/reggae and can generate ninja/make/tup build rules (similarly to cmake).