I don't think describing the build in C++ (https://pagghiu.github.io/SaneCppLibraries/library_build.htm...) can exactly be called a "sane" idea.
Declarative build definitions are generally much easier to work with and scale than using an imperative language.