CMake already supports Code::Blocks. With cmake it is the other way round - you write the build system and you get the project files. Generating cmake files from cbp files doesn't make too much sense. Also given the specifics of cmake it might be really hard task to do (cmake has some policies, which a cbp workspace might not follow and then it would be really hard to do the mapping).
I know this is the conventional thinking, but I am turning it around anyway. To me, Code::Blocks is the natural development environment during lots of code changing, source files coming and going. For this I am using C::B project files, and I am not willing to give that up and somehow use CMake instead during development.
With released code the situation is different, with stable source files and end user building the software. In that scenario, something like CMake, Premake (or Meson as you mentioned) makes more sense. So to me it does make sense to derive e.g. CMakeLists.txt from Code::Blocks project files. Now, you are probably right to say this is not possible in all cases and I get that. But if I am able to do it for my projects given some rules of how I set up project files, and maybe some user input when generating CMake files I can live with that just fine.
I have almost zero experience with creating CMakeLists.txt, but
when I tried yesterday it appeared you have to list all the source files explicitly, so that alone is a motivation for deriving from a Code::blocks project file. Then there are other things you can extract, such as target type, compiler options and dependencies. I will think more about it and experiment.