This is why CMake is spectacular (for all of its many, many, many warts): it spits out good, fast configurations for a large number of build runners; and they all tend to work. CMake + Ninja is spectacular if you want to spend less time compiling, but maybe not ideal if you are not familiar with CMake idiosyncrasies and want to configure it for something. I usually find that I can add a pkgconfig-based dependency to a CMake project without much fuss, but anything much more complicated than that I typically do not enjoy.