This generator prefers to lookup the build tool at build time
rather than to store CMAKE_MAKE_PROGRAM in the CMake cache
ahead of time. This is because xcodebuild is easy to find,
the cmakexbuild wrapper is needed only for older Xcode versions,
and the path to cmakexbuild may be outdated if CMake itself moves.

For compatibility with versions of CMake prior to 3.2, if
a user or project explicitly adds CMAKE_MAKE_PROGRAM to
the CMake cache then CMake will use the specified value.

These generators prefer to lookup the build tool at build time
rather than to store CMAKE_MAKE_PROGRAM in the CMake cache
ahead of time. This is because the tools are version-specific
and can be located using the Windows Registry. It is also
necessary because the proper build tool may depend on the
project content (e.g. the Intel Fortran plugin to VS 10 and 11
requires devenv.com to build its .vfproj project files
even though MSBuild.exe is normally preferred to support
the CMAKE_GENERATOR_TOOLSET).

For compatibility with versions of CMake prior to 3.0, if
a user or project explicitly adds CMAKE_MAKE_PROGRAM to
the CMake cache then CMake will use the specified value if
possible.

The GreenHillsMULTI generator sets this to gbuild.
If a user or project explicitly adds CMAKE_MAKE_PROGRAM to
the CMake cache then CMake will use the specified value.

The CMAKE_MAKE_PROGRAM variable is set for use by project code.
The value is also used by the cmake(1)--build and
ctest(1)--build-and-test tools to launch the native
build process.