CMake was never declarative AFAIK?
CMake today is effectively an eso-lang / Turing tarpit with some “modern” declarative conventions that people try to push.