This lets non-developers simply `cd` into the fish source directory and
execute `make` to build the project. The Makefile searches for CMake and
hands over the build to it if it is available, otherwise an error
message is emitted. All dependency checking is left to CMake.
Non-fish-devs shouldn't have to concern themselves with what build
system fish developers have chosen, and building a random C++ project
should not be a chore in familiarizing one's self with all the various
build platforms out there.
CMake is instructed to use `ninja` if it is available, otherwise the
standard Unix Makefiles generator option is used.
(This has already been the behavior on BSDs since CMake was adopted.)