How to build freeglut with CMake on Windows (MS Visual Studio)
--------------------------------------------------------------
1.  Download CMake (http://www.cmake.org/cmake/resources/software.html).
    Get one of the releases from the binary distribution section.
2.  Run the CMake installer, install wherever you like. 
3.  Launch CMake via Start > Program Files > CMake 2.8 > CMake (GUI)
    (note that the shortcut put by the installer on your desktop does NOT
    point to the CMake GUI program!)
4.  In the "Where is the source code" box, type or browse to the root
    directory of your freeglut source (so that's /freeglut, not
    /freeglut/src).
5.  In the "Where to build the binaries" box, type or browse to any
    folder you like - this will be where the Visual Studio solution will be
    generated. This folder does not have to exist yet.
6.  Hit the Configure button near the bottom of the window. 
7.  Pick your target compiler, make sure that its installed on your
    system of course!
8.  Answer Ok when asked if you want to create the build directory. 
9.  Wait for the configure process to finish. 
10. The screen will now have some configuration options on it, for
    instance specifying whether you want to build static and/or shared
    libraries (see below for a complete list). When you've selected your
    options, click the Configure button again.
11. The Generate button at the bottom will now be enabled. Click Generate.
12. The build files will now be generated in the location you picked. 

You can now navigate to the build directory you specified in step 5.
Open the freeglut.sln file that was generated in your build directory,
and compile as usual


How to build freeglut on UNIX
-----------------------------
- Make sure you have cmake installed. Examples:
  - Debian/Ubuntu: apt-get install cmake
  - Fedora: yum install cmake
  - FreeBSD: cd /usr/ports/devel/cmake && make install
  Or directly from their website:
  http://www.cmake.org/cmake/resources/software.html
- Make sure you have the basics for compiling code, such as C compiler
  (e.g., GCC) and the make package.
- Also make sure you have packages installed that provide the relevant
  header files for opengl (e.g., libgl1-mesa-dev on Debian/Ubuntu) and
  the chosen backend :
  - X11: x11 (e.g., libx11-dev, libxrandr-devel on Debian/Ubuntu) and
  XInput (libxi-dev / libXi-devel)
  - Wayland: wayland (e.g., libwayland-dev and libegl1-mesa-dev on
  Debian/Ubuntu) and xkbcommon (libxkbcommon-dev /libxkbcommon-devel)
- Run 'cmake .' (or 'cmake . -DFREEGLUT_WAYLAND=ON' for Wayland) in the
  freeglut directory to generate the makefile.
- Run 'make' to build, and 'make install' to install freeglut.
- If you wish to change any build options run 'ccmake .'


Breakdown of CMake configuration options
----------------------------------------
CMAKE_BUILD_TYPE            [Empty, Debug, Release] Can be overriden by
                            passing it as a make variable during build.
CMAKE_INSTALL_PREFIX	    Installation prefix (e.g. /usr/local on UNIX)
FREEGLUT_BUILD_DEMOS	    [ON, OFF] Controls whether the demos are
                            built or not.
FREEGLUT_BUILD_SHARED_LIBS  [ON, OFF] Build freeglut as a shared library
FREEGLUT_BUILD_STATIC_LIBS  [ON, OFF] Build freeglut as a static library
FREEGLUT_GLES               [ON, OFF] Link with GLEs libraries instead
                            of OpenGL
FREEGLUT_WAYLAND            [ON, OFF] Link with Wayland libraries instead
                            of X11
FREEGLUT_PRINT_ERRORS       [ON, OFF] Controls whether errors are
                            default handled or not when user does not
                            provide an error callback
FREEGLUT_PRINT_WARNINGS     [ON, OFF] Controls whether warnings are
                            default handled or not when user does not
                            provide an warning callback
FREEGLUT_REPLACE_GLUT       [ON, OFF] For non-Windows platforms,
                            freeglut is by default built as -lglut. if
                            off, built as -lfreeglut. On Windows,
                            libraries are always built as freeglut.
INSTALL_PDB                 [ON, OFF] MSVC only: controls whether debug
                            information files are included with the
                            install or not
