tbh #cmake would probably be more bearable if it was #functional, none of that `set(SOME_MAGIC_GLOBAL on)` business, just nice, self-contained, reusable declaractions