The gitignore file actually ignores the cmake directory. The CMake file now defaults to modern OpenGL on Unix machines. Before this fix CMake would tell you that 2 versions were available, but it is not clear which one is being used. The random.h file now uses correct C++17 default random number generator. Before this fix C++17 would not compile because the definition of std::shuffle no longer exists. The updated code uses a version of std::shuffle that does exist.
This has been tested and solved on Ubuntu 18.04 LTS with GCC 9.x.x and CMake 3.15.2.
The gitignore file actually ignores the cmake directory. The CMake file now defaults to modern OpenGL on Unix machines. Before this fix CMake would tell you that 2 versions were available, but it is not clear which one is being used. The random.h file now uses correct C++17 default random number generator. Before this fix C++17 would not compile because the definition of std::shuffle no longer exists. The updated code uses a version of std::shuffle that does exist. This has been tested and solved on Ubuntu 18.04 LTS with GCC 9.x.x and CMake 3.15.2.