Drop GLEW support
parent
b86c4aba4e
commit
ae27c1a1b0
|
@ -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(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_TTF "Use TrueType fonts instead of TXF (Default: off)" OFF)
|
||||||
option(ENABLE_TESTS "Enable unit tests? (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)
|
option(ENABLE_DATA "Install data from content submodule? (Default: on)" ON)
|
||||||
|
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
if(NOT CMAKE_BUILD_TYPE)
|
||||||
|
@ -176,16 +175,9 @@ find_package(OpenGL REQUIRED)
|
||||||
include_directories(${OPENGL_INCLUDE_DIRS})
|
include_directories(${OPENGL_INCLUDE_DIRS})
|
||||||
link_libraries(${OPENGL_LIBRARIES})
|
link_libraries(${OPENGL_LIBRARIES})
|
||||||
|
|
||||||
if(ENABLE_GLEW)
|
find_package(Libepoxy REQUIRED)
|
||||||
find_package(GLEW REQUIRED)
|
link_libraries(libepoxy::libepoxy)
|
||||||
link_libraries(GLEW::GLEW)
|
include_directories(${LIBEPOXY_INCLUDE_DIR})
|
||||||
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(Eigen3 3.3 NO_MODULE) # -DEigen3_DIR=...
|
find_package(Eigen3 3.3 NO_MODULE) # -DEigen3_DIR=...
|
||||||
if(TARGET Eigen3::Eigen)
|
if(TARGET Eigen3::Eigen)
|
||||||
|
|
12
INSTALL.md
12
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.
|
Clang 3.3 or later), CMake, GNU Make or Ninja.
|
||||||
|
|
||||||
Then you need to have the following devel components installed before Celestia
|
Then you need to have the following devel components installed before Celestia
|
||||||
will build: OpenGL, glu, glew, theora, libjpeg, and libpng. Optional packages
|
will build: OpenGL, glu, libepoxy, theora, libjpeg, and libpng. Optional
|
||||||
are fmtlib, Eigen3, Qt5, Gtk2 and glut.
|
packages are fmtlib, Eigen3, Qt5, Gtk2 and glut.
|
||||||
|
|
||||||
For example on modern Debian-derived system you need to install the following
|
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;
|
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
|
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
|
Qt5 interface; libgtk2.0-dev and libgtkglext1-dev to build with legacy Gtk2
|
||||||
|
@ -159,7 +159,7 @@ and vcpkg (*).
|
||||||
Install required packages:
|
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:
|
Install optional packages:
|
||||||
|
@ -220,7 +220,7 @@ pacman -S base-devel
|
||||||
pacman -S git
|
pacman -S git
|
||||||
pacman -S mingw-w64-x86_64-cmake
|
pacman -S mingw-w64-x86_64-cmake
|
||||||
pacman -S mingw-w64-x86_64-qt5
|
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
|
pacman -S mingw-w64-x86_64-libtheora mingw-w64-x86_64-mesa
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -274,7 +274,7 @@ Install Homebrew
|
||||||
Install required packages:
|
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:
|
Install optional packages:
|
||||||
|
|
|
@ -7,7 +7,7 @@ Build-Depends: debhelper (>= 10~),
|
||||||
libeigen3-dev (>= 3.3~),
|
libeigen3-dev (>= 3.3~),
|
||||||
libfmt-dev (>= 4),
|
libfmt-dev (>= 4),
|
||||||
libfreetype6-dev,
|
libfreetype6-dev,
|
||||||
libglew-dev,
|
libepoxy-dev,
|
||||||
libglu1-mesa-dev,
|
libglu1-mesa-dev,
|
||||||
libgtk2.0-dev,
|
libgtk2.0-dev,
|
||||||
libgtkglext1-dev,
|
libgtkglext1-dev,
|
||||||
|
|
|
@ -15,21 +15,12 @@ namespace
|
||||||
{
|
{
|
||||||
inline bool has_extension(const char* name) noexcept
|
inline bool has_extension(const char* name) noexcept
|
||||||
{
|
{
|
||||||
#ifdef USE_GLEW
|
|
||||||
return glewIsSupported(name);
|
|
||||||
#else
|
|
||||||
return epoxy_has_gl_extension(name);
|
return epoxy_has_gl_extension(name);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool init() noexcept
|
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_shader_texture_lod = has_extension("GL_ARB_shader_texture_lod");
|
||||||
ARB_vertex_array_object = has_extension("GL_ARB_vertex_array_object");
|
ARB_vertex_array_object = has_extension("GL_ARB_vertex_array_object");
|
||||||
EXT_framebuffer_object = has_extension("GL_EXT_framebuffer_object");
|
EXT_framebuffer_object = has_extension("GL_EXT_framebuffer_object");
|
||||||
|
@ -41,17 +32,7 @@ bool init() noexcept
|
||||||
|
|
||||||
bool checkVersion(int v) 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;
|
return epoxy_gl_version() >= v;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
} // gl
|
} // gl
|
||||||
} // celestia
|
} // celestia
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifdef USE_GLEW
|
|
||||||
#include <GL/glew.h>
|
|
||||||
#else
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -12,7 +9,6 @@
|
||||||
#else
|
#else
|
||||||
#include <GL/glu.h>
|
#include <GL/glu.h>
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace celestia
|
namespace celestia
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,21 +13,12 @@ namespace
|
||||||
{
|
{
|
||||||
inline bool has_extension(const char* name) noexcept
|
inline bool has_extension(const char* name) noexcept
|
||||||
{
|
{
|
||||||
#ifdef USE_GLEW
|
|
||||||
return glewIsSupported(name);
|
|
||||||
#else
|
|
||||||
return epoxy_has_gl_extension(name);
|
return epoxy_has_gl_extension(name);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool init() noexcept
|
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_shader_objects = has_extension("GL_ARB_shader_objects");
|
||||||
ARB_shading_language_100 = has_extension("GL_ARB_shading_language_100");
|
ARB_shading_language_100 = has_extension("GL_ARB_shading_language_100");
|
||||||
EXT_framebuffer_object = has_extension("GL_EXT_framebuffer_object");
|
EXT_framebuffer_object = has_extension("GL_EXT_framebuffer_object");
|
||||||
|
@ -37,17 +28,7 @@ bool init() noexcept
|
||||||
|
|
||||||
bool checkVersion(int v) 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;
|
return epoxy_gl_version() >= v;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
} // gl
|
} // gl
|
||||||
} // celestia
|
} // celestia
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifdef USE_GLEW
|
|
||||||
#include <GL/glew.h>
|
|
||||||
#else
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -12,7 +9,6 @@
|
||||||
#else
|
#else
|
||||||
#include <GL/glu.h>
|
#include <GL/glu.h>
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
namespace celestia
|
namespace celestia
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue