Drop GLEW support

pull/721/head
Hleb Valoshka 2020-05-05 11:42:08 +03:00
parent b86c4aba4e
commit ae27c1a1b0
7 changed files with 10 additions and 64 deletions

View File

@ -32,7 +32,6 @@ option(NATIVE_OSX_APP "Support native OSX paths read data from (Default: off)" O
option(FAST_MATH "Build with unsafe fast-math compiller option (Default: off)" OFF)
option(ENABLE_TTF "Use TrueType fonts instead of TXF (Default: off)" OFF)
option(ENABLE_TESTS "Enable unit tests? (Default: off)" OFF)
option(ENABLE_GLEW "Use GLEW instead of libepoxy? (Default: on)" ON)
option(ENABLE_DATA "Install data from content submodule? (Default: on)" ON)
if(NOT CMAKE_BUILD_TYPE)
@ -176,16 +175,9 @@ find_package(OpenGL REQUIRED)
include_directories(${OPENGL_INCLUDE_DIRS})
link_libraries(${OPENGL_LIBRARIES})
if(ENABLE_GLEW)
find_package(GLEW REQUIRED)
link_libraries(GLEW::GLEW)
include_directories(${GLEW_INCLUDE_DIRS})
add_definitions(-DUSE_GLEW)
else()
find_package(Libepoxy REQUIRED)
link_libraries(libepoxy::libepoxy)
include_directories(${LIBEPOXY_INCLUDE_DIR})
endif()
find_package(Libepoxy REQUIRED)
link_libraries(libepoxy::libepoxy)
include_directories(${LIBEPOXY_INCLUDE_DIR})
find_package(Eigen3 3.3 NO_MODULE) # -DEigen3_DIR=...
if(TARGET Eigen3::Eigen)

View File

@ -96,11 +96,11 @@ First you need a C++ compiler able to compile C++11 code (GCC 4.8.1 or later,
Clang 3.3 or later), CMake, GNU Make or Ninja.
Then you need to have the following devel components installed before Celestia
will build: OpenGL, glu, glew, theora, libjpeg, and libpng. Optional packages
are fmtlib, Eigen3, Qt5, Gtk2 and glut.
will build: OpenGL, glu, libepoxy, theora, libjpeg, and libpng. Optional
packages are fmtlib, Eigen3, Qt5, Gtk2 and glut.
For example on modern Debian-derived system you need to install the following
packages: libglew-dev, libjpeg-dev, libpng-dev, libtheora-dev, libgl1-mesa-dev,
packages: libepoxy-dev, libjpeg-dev, libpng-dev, libtheora-dev, libgl1-mesa-dev,
libglu1-mesa-dev. Then you may want to install libeigen3-dev, libfmt-dev;
qtbase5-dev, qtbase5-dev-tools and libqt5opengl5-dev if you want to build with
Qt5 interface; libgtk2.0-dev and libgtkglext1-dev to build with legacy Gtk2
@ -159,7 +159,7 @@ and vcpkg (*).
Install required packages:
```
vcpkg install libpng libjpeg-turbo gettext lua fmt glew eigen3
vcpkg install libpng libjpeg-turbo gettext lua fmt libepoxy eigen3
```
Install optional packages:
@ -220,7 +220,7 @@ pacman -S base-devel
pacman -S git
pacman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-qt5
pacman -S mingw-w64-x86_64-freeglut mingw-w64-x86_64-glew mingw-w64-x86_64-lua
pacman -S mingw-w64-x86_64-freeglut mingw-w64-x86_64-libepoxy mingw-w64-x86_64-lua
pacman -S mingw-w64-x86_64-libtheora mingw-w64-x86_64-mesa
```
@ -274,7 +274,7 @@ Install Homebrew
Install required packages:
```
brew install cmake glew fmt gettext libpng lua qt5 jpeg eigen
brew install cmake fmt gettext libepoxy libpng lua qt5 jpeg eigen
```
Install optional packages:

2
debian/control vendored
View File

@ -7,7 +7,7 @@ Build-Depends: debhelper (>= 10~),
libeigen3-dev (>= 3.3~),
libfmt-dev (>= 4),
libfreetype6-dev,
libglew-dev,
libepoxy-dev,
libglu1-mesa-dev,
libgtk2.0-dev,
libgtkglext1-dev,

View File

@ -15,21 +15,12 @@ namespace
{
inline bool has_extension(const char* name) noexcept
{
#ifdef USE_GLEW
return glewIsSupported(name);
#else
return epoxy_has_gl_extension(name);
#endif
}
}
bool init() noexcept
{
#ifdef USE_GLEW
GLenum glewErr = glewInit();
if (glewErr != GLEW_OK)
return false;
#endif
ARB_shader_texture_lod = has_extension("GL_ARB_shader_texture_lod");
ARB_vertex_array_object = has_extension("GL_ARB_vertex_array_object");
EXT_framebuffer_object = has_extension("GL_EXT_framebuffer_object");
@ -41,17 +32,7 @@ bool init() noexcept
bool checkVersion(int v) noexcept
{
#ifdef USE_GLEW
switch (v)
{
case GL_2_1:
return GLEW_VERSION_2_1 != GL_FALSE;
default:
return false;
}
#else
return epoxy_gl_version() >= v;
#endif
}
} // gl
} // celestia

View File

@ -1,8 +1,5 @@
#pragma once
#ifdef USE_GLEW
#include <GL/glew.h>
#else
#ifdef _WIN32
#include <windows.h>
#endif
@ -12,7 +9,6 @@
#else
#include <GL/glu.h>
#endif
#endif
namespace celestia
{

View File

@ -13,21 +13,12 @@ namespace
{
inline bool has_extension(const char* name) noexcept
{
#ifdef USE_GLEW
return glewIsSupported(name);
#else
return epoxy_has_gl_extension(name);
#endif
}
}
bool init() noexcept
{
#ifdef USE_GLEW
GLenum glewErr = glewInit();
if (glewErr != GLEW_OK)
return false;
#endif
ARB_shader_objects = has_extension("GL_ARB_shader_objects");
ARB_shading_language_100 = has_extension("GL_ARB_shading_language_100");
EXT_framebuffer_object = has_extension("GL_EXT_framebuffer_object");
@ -37,17 +28,7 @@ bool init() noexcept
bool checkVersion(int v) noexcept
{
#ifdef USE_GLEW
switch (v)
{
case GL_2_1:
return GLEW_VERSION_2_1 != GL_FALSE;
default:
return false;
}
#else
return epoxy_gl_version() >= v;
#endif
}
} // gl
} // celestia

View File

@ -1,8 +1,5 @@
#pragma once
#ifdef USE_GLEW
#include <GL/glew.h>
#else
#ifdef _WIN32
#include <windows.h>
#endif
@ -12,7 +9,6 @@
#else
#include <GL/glu.h>
#endif
#endif
namespace celestia
{