From ae27c1a1b064ce283dafa0aa6273fb038abf4e73 Mon Sep 17 00:00:00 2001 From: Hleb Valoshka <375gnu@gmail.com> Date: Tue, 5 May 2020 11:42:08 +0300 Subject: [PATCH] Drop GLEW support --- CMakeLists.txt | 14 +++----------- INSTALL.md | 12 ++++++------ debian/control | 2 +- src/celengine/glsupport.cpp | 19 ------------------- src/celengine/glsupport.h | 4 ---- src/tools/cmod/cmodview/glsupport.cpp | 19 ------------------- src/tools/cmod/cmodview/glsupport.h | 4 ---- 7 files changed, 10 insertions(+), 64 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5791f5682..c0b7e43b9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/INSTALL.md b/INSTALL.md index 97fa4b324..0472666af 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -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: diff --git a/debian/control b/debian/control index ca5514616..159561bdb 100644 --- a/debian/control +++ b/debian/control @@ -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, diff --git a/src/celengine/glsupport.cpp b/src/celengine/glsupport.cpp index 7e0518c85..926597639 100644 --- a/src/celengine/glsupport.cpp +++ b/src/celengine/glsupport.cpp @@ -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 diff --git a/src/celengine/glsupport.h b/src/celengine/glsupport.h index cb56be5ad..7547c10e1 100644 --- a/src/celengine/glsupport.h +++ b/src/celengine/glsupport.h @@ -1,8 +1,5 @@ #pragma once -#ifdef USE_GLEW -#include -#else #ifdef _WIN32 #include #endif @@ -12,7 +9,6 @@ #else #include #endif -#endif namespace celestia { diff --git a/src/tools/cmod/cmodview/glsupport.cpp b/src/tools/cmod/cmodview/glsupport.cpp index 4b8df4aa8..3ecec19e5 100644 --- a/src/tools/cmod/cmodview/glsupport.cpp +++ b/src/tools/cmod/cmodview/glsupport.cpp @@ -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 diff --git a/src/tools/cmod/cmodview/glsupport.h b/src/tools/cmod/cmodview/glsupport.h index c744b379c..673313a84 100644 --- a/src/tools/cmod/cmodview/glsupport.h +++ b/src/tools/cmod/cmodview/glsupport.h @@ -1,8 +1,5 @@ #pragma once -#ifdef USE_GLEW -#include -#else #ifdef _WIN32 #include #endif @@ -12,7 +9,6 @@ #else #include #endif -#endif namespace celestia {