Admittedly I haven't been in the C++ space for about a decade, but back in the day I used to love premake for this exact reason. You wrote your build config in a completely standard real scripting language: lua.
I know about Premake, and I completely agree that the Lua it uses is a far more pleasant language than CMake. Still, unfortunately, AFAIK, the build system itself isn't as feature-complete as CMake, and it doesn't have as extensive support in programming editors or across the broader C++ ecosystem.