Those '*.cmake' files only work with CMake, which is an issue if you try using any other build system. There is also pkg-config and the `*.pc` files, which are doing essentially the same job without depending on a build system. But it's really all just patchwork, the files are frequently missing and the whole setup is extremely brittle if you hop between OSs, different library versions or just different CMake versions (e.g. '*.cmake' files exporting different targets and variables). That CMake has to provide those files themselves for a lot of libraries (all those not using cmake) is another issue.
> Those '*.cmake' files only work with CMake, which is an issue if you try using any other build system.
At least meson can parse those. Making every other build system in existence add support for those is definitely less work than changing the format of .a and will yield exactly the same result (not that it matters much, cmake being the standard c/c++ build system for years now)
Also .pc files are near inexistent on the most used desktop OS.