Added support for the GLESv2 renderer to the CMake build.
* Refactored the OpenGLES detection for both versions.
Platform detection is done only in the main project file, settings hints for the GLES headers/libraries detection in the corresponding 'Find' cmake modules.
* Simplified the additions of directories for includes/libraries, based on the same hints added during detection.
Notes:
* GLESv2 is the default for GLES-enabled systems.
* For the Raspberry Pi systems, both the legacy (BRCM) and the new (MESA) GLES libraries can be present.
The selection can be done via the `USE_MESA_GLES` CMake option (default: Off)
By default, the legacy (BRCM) libraries/headers are used, without any special configuration.
For the Pi4, the GL renderer/system must be explicitely selected
** select the OpenGL 2 renderer with `-DGL=On`
** select the GLESv2 renderer with `-DUSE_MESA_GLES=On`
* the GLESv1 renderer can still be forcibly enabled using the `FORCE_GLESv1` build option, for platforms where GLESv1 is the only option.
Minor - set the start-up project in MS Visual Studio to 'emulationstation'.
* For BCMHOST build, use brcmEGL / brcmGLESv2 libraries, and don't look at
Mesa includes (so libraspberrypi-dev and libgles*-mesa-dev can coexist).
* If overridden via -DGLES=On, don't present vendor includes to build to
make absolutely sure that the Mesa includes are used.
Fixes stretch vendor library building & generic Mesa GLES compatibility.
CMake is much more versatile, providing build support on multiple
platforms to generate Makefiles. This should serve as a starting point
for CMake builds.
Please note the /CMake/* scripts are actually ripped from the ORGE3D
repositories, but they seem to be in the Public Domain. Thanks!