Skip to content
This repository has been archived by the owner on May 13, 2024. It is now read-only.

Commit

Permalink
Workaround for stupid GL header version problems
Browse files Browse the repository at this point in the history
  • Loading branch information
sfan5 committed Feb 17, 2024
1 parent 14b861a commit a51df69
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
20 changes: 19 additions & 1 deletion source/Irrlicht/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ endif()

if(ENABLE_OPENGL)
add_definitions(-D_IRR_COMPILE_WITH_OPENGL_)
set(OPENGL_DIRECT_LINK TRUE) # not yet possible to remove this
set(OPENGL_DIRECT_LINK TRUE) # driver relies on this
if(DEVICE STREQUAL "WINDOWS")
add_definitions(-D_IRR_COMPILE_WITH_WGL_MANAGER_)
elseif(DEVICE STREQUAL "X11")
Expand Down Expand Up @@ -269,6 +269,24 @@ if(USE_SDL2)
message(STATUS "Found SDL2: ${SDL2_LIBRARIES}")
endif()

# More special config

if(ENABLE_OPENGL AND DEVICE STREQUAL "SDL")
# the driver requires some GL 4.5 symbols to compile correctly and sometimes
# paradoxically SDL headers are more out-of-date than the OS ones,
# so we can't use them.
set(CMAKE_REQUIRED_INCLUDES ${SDL2_INCLUDE_DIRS})
unset(CHECK_GL_VERSION_4_5 CACHE)
check_cxx_source_compiles("#include <SDL_opengl.h>\n\
#ifndef GL_VERSION_4_5\n\
#error\n\
#endif\n\
int main() {}" CHECK_GL_VERSION_4_5)
if(CHECK_GL_VERSION_4_5)
add_definitions(-DIRR_PREFER_SDL_GL_HEADER)
endif()
endif()

# Platform-specific libs

if(ANDROID)
Expand Down
2 changes: 1 addition & 1 deletion source/Irrlicht/COpenGLCommon.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

#ifdef _IRR_COMPILE_WITH_OPENGL_

#if defined(_IRR_COMPILE_WITH_SDL_DEVICE_)
#if defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && defined(IRR_PREFER_SDL_GL_HEADER)
#include <SDL_video.h>
#include <SDL_opengl.h>
#else
Expand Down

0 comments on commit a51df69

Please sign in to comment.