Let ENABLE_GLES appear in cmake_config.h and change its functionality
authorsfan5 <sfan5@live.de>
Wed, 24 Jul 2019 21:15:28 +0000 (23:15 +0200)
committersfan5 <sfan5@live.de>
Sun, 4 Aug 2019 14:12:52 +0000 (16:12 +0200)
README.md
src/CMakeLists.txt
src/cmake_config.h.in

index 83676a8660a8dbca0b787f93b5e76f9c59e38c24..fcc7fec67c80db5b0941cef626379ba718ddb4fd 100644 (file)
--- a/README.md
+++ b/README.md
@@ -220,7 +220,7 @@ General options and their default values:
     ENABLE_CURSES=ON           - Build with (n)curses; Enables a server side terminal (command line option: --terminal)
     ENABLE_FREETYPE=ON         - Build with FreeType2; Allows using TTF fonts
     ENABLE_GETTEXT=ON          - Build with Gettext; Allows using translations
-    ENABLE_GLES=OFF            - Search for Open GLES headers & libraries and use them
+    ENABLE_GLES=OFF            - Build for OpenGL ES instead of OpenGL (requires support by Irrlicht)
     ENABLE_LEVELDB=ON          - Build with LevelDB; Enables use of LevelDB map backend
     ENABLE_POSTGRESQL=ON       - Build with libpq; Enables use of PostgreSQL map backend (PostgreSQL 9.5 or greater recommended)
     ENABLE_REDIS=ON            - Build with libhiredis; Enables use of Redis map backend
index cb920e875ae275a1f024ac37e09de4a3b56df028..2627a0b97db95221919e4e9c561b9ed54a35ae31 100644 (file)
@@ -102,10 +102,18 @@ if(BUILD_CLIENT AND ENABLE_SOUND)
 endif()
 
 
-option(ENABLE_GLES "Enable OpenGL ES support" FALSE)
+option(ENABLE_GLES "Use OpenGL ES instead of OpenGL" FALSE)
 mark_as_advanced(ENABLE_GLES)
 if(ENABLE_GLES)
-       find_package(OpenGLES2)
+       find_package(OpenGLES2 REQUIRED)
+elseif()
+       if(NOT WIN32) # Unix probably
+               set(OPENGL_GL_PREFERENCE "LEGACY" CACHE STRING
+                       "See CMake Policy CMP0072 for reference. GLVND is broken on some nvidia setups")
+               set(OpenGL_GL_PREFERENCE ${OPENGL_GL_PREFERENCE})
+
+               find_package(OpenGL REQUIRED)
+       endif()
 endif()
 
 
@@ -275,11 +283,6 @@ else()
                        find_package(X11 REQUIRED)
                endif(NOT HAIKU)
 
-               set(OPENGL_GL_PREFERENCE "LEGACY" CACHE STRING
-                       "See CMake Policy CMP0072 for reference. GLVND is broken on some nvidia setups")
-               set(OpenGL_GL_PREFERENCE ${OPENGL_GL_PREFERENCE})
-
-               find_package(OpenGL REQUIRED)
                find_package(JPEG REQUIRED)
                find_package(BZip2 REQUIRED)
                find_package(PNG REQUIRED)
@@ -519,7 +522,6 @@ if(BUILD_CLIENT)
                ${PROJECT_NAME}
                ${ZLIB_LIBRARIES}
                ${IRRLICHT_LIBRARY}
-               ${OPENGL_LIBRARIES}
                ${JPEG_LIBRARIES}
                ${BZIP2_LIBRARIES}
                ${PNG_LIBRARIES}
@@ -529,7 +531,6 @@ if(BUILD_CLIENT)
                ${LUA_LIBRARY}
                ${GMP_LIBRARY}
                ${JSON_LIBRARY}
-               ${OPENGLES2_LIBRARIES}
                ${PLATFORM_LIBS}
                ${CLIENT_PLATFORM_LIBS}
        )
@@ -543,6 +544,18 @@ if(BUILD_CLIENT)
                        ${client_LIBS}
                )
        endif()
+       if(ENABLE_GLES)
+               target_link_libraries(
+                       ${PROJECT_NAME}
+                       ${OPENGLES2_LIBRARIES}
+                       ${EGL_LIBRARIES}
+               )
+       else()
+               target_link_libraries(
+                       ${PROJECT_NAME}
+                       ${OPENGL_LIBRARIES}
+               )
+       endif()
        if(USE_GETTEXT)
                target_link_libraries(
                        ${PROJECT_NAME}
index 81b8c26953537a8b7ffba91f3f5dbdddfe63fc1d..cb54cb488c09e1e4f0eccafe6098c6657a72db26 100644 (file)
@@ -26,6 +26,7 @@
 #cmakedefine01 USE_SPATIAL
 #cmakedefine01 USE_SYSTEM_GMP
 #cmakedefine01 USE_REDIS
+#cmakedefine01 ENABLE_GLES
 #cmakedefine01 HAVE_ENDIAN_H
 #cmakedefine01 CURSES_HAVE_CURSES_H
 #cmakedefine01 CURSES_HAVE_NCURSES_H