forked from Mirrors/openclonk
d4634526fd
Epoxy automatically fetches the extension functions on demand, including the GLX context creation functions. This means that you can't test the function pointers for NULL anymore, because they're always set to a resolver function until the first call. Instead, you have to check for the availability of an extension by the extension's name. Thanks to Isilkor for catching these. On windows, epoxy invalidates all extension function pointers when the GL context changes. This means we need to have an active context at all times we call an extension function (like wglGetPixelFormatAttribivARB) or else the code will jump to an invalid pointer. On the other hand, we do not need to make it reinitialize the pointers ourselves. Epoxy automatically uses an alias for a function if the requested name is not available, like glDebugMessageCallbackARB instead of glDebugMessageCallback. It also does not have the problem with varying parameter types for that function. So switch to it while removing GLDEBUGPROCARB_USERPARAM_IS_CONST. |
||
---|---|---|
cmake | ||
docs | ||
include/c4script | ||
licenses | ||
masterserver | ||
planet | ||
src | ||
tests | ||
thirdparty | ||
tools | ||
.git_archival | ||
.gitattributes | ||
.gitignore | ||
CMakeLists.txt | ||
COPYING | ||
Credits.txt | ||
README | ||
TRADEMARK | ||
Version.txt | ||
config.h.cmake | ||
openclonk.desktop | ||
scriptdefinitionsources.txt |
README
Requirements ============ You should be able to build OpenClonk with any C++ compiler that supports ISO C++14. That said, on Windows, we recommend using Microsoft Visual C++ 2015 or higher; the Express edition will be sufficient. On Linux, you will be fine with GNU g++ 4.9 or later. Apple users should use a clang-based XCode version. To generate project files for your chosen build system, you will also have to install CMake from http://www.cmake.org/. Additionally, OpenClonk depends on a number of third-party libraries: - zlib (http://zlib.net/) - libpng (http://www.libpng.org/pub/png/libpng.html) - libjpeg-turbo (http://sourceforge.net/projects/libjpeg-turbo/files/) - FreeType (http://www.freetype.org/) - The OpenGL Extension Wrangler Library (http://glew.sourceforge.net/) - FreeALUT (https://github.com/vancegroup/freealut) - libogg and libvorbis (https://www.xiph.org/downloads/) OS X Specific ============= OpenClonk supports OS X versions 10.8 "Mountain Lion" and later. If you are using brew (https://github.com/mxcl/homebrew) or MacPorts (http://www.macports.org/), the packages you'll have to install are: libjpeg, libpng, freetype, glew, libogg, libvorbis Linux Specific ============== For building OpenClonk on Linux, you need the following libraries in addition to the ones listed above: - GTK+ 3.4 or greater (http://www.gtk.org) - libGL (http://www.mesa3d.org/) - SDL 1.2 (http://www.libsdl.org/download-1.2.php) - SDL_mixer 1.2 (http://www.libsdl.org/projects/SDL_mixer/release-1.2.html) - libupnp - libxrandr Most distributions should provide these dependencies via their packaging system. For Debian based distributions, you will need these packages: build-essential cmake imagemagick libfreetype6-dev libgl1-mesa-dev libglew-dev libgtk-3-dev libjpeg-dev libpng-dev libsdl1.2-dev libsdl-mixer1.2-dev libupnp-dev libxrandr-dev x11proto-core-dev zlib1g-dev libalut0 At least gcc-4.9 is required. Windows Specific ================ In addition to the libraries above, you will need one more if you want to target Windows: - OpenAL Soft (http://kcat.strangesoft.net/openal.html) To create an installer, you will also need the Nullsoft Install System (http://nsis.sourceforge.net/). To create the installer, build the "setup" target.