>>In addition, I don't like cmake's DSL syntax, which is very tedious and difficult to maintain.
I don't agree that Cmake is difficult and hard to maintain.
I do believe that most people write complete messes in their makefile so that they become brittle and hard to maintain.
The so called "modern Cmake" approach, with its declarative approach to project files, is delightful to work with, unlike the old and beaten imperative based path of forcing Cmake to be a glorified scripting language when it never was.