aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorproller <proller@github.com>2013-03-02 20:44:08 +0400
committerkwolekr <kwolekr@minetest.net>2013-03-16 22:37:50 -0400
commit10c03e1a9d09ba0369ea3fbff1ec3a9436a3b706 (patch)
tree78fb5ea11a7ed169290f90b7f5bc9ec9647e52ff
parent67228160aed84e0ef07a863ac0127931f8d58b05 (diff)
downloadminetest-10c03e1a9d09ba0369ea3fbff1ec3a9436a3b706.tar.gz
minetest-10c03e1a9d09ba0369ea3fbff1ec3a9436a3b706.tar.bz2
minetest-10c03e1a9d09ba0369ea3fbff1ec3a9436a3b706.zip
build with ogles2 driver
-rw-r--r--cmake/Modules/FindOpenGLES2.cmake130
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/main.cpp8
3 files changed, 140 insertions, 0 deletions
diff --git a/cmake/Modules/FindOpenGLES2.cmake b/cmake/Modules/FindOpenGLES2.cmake
new file mode 100644
index 000000000..42d31c898
--- /dev/null
+++ b/cmake/Modules/FindOpenGLES2.cmake
@@ -0,0 +1,130 @@
+#-------------------------------------------------------------------
+# This file is stolen from part of the CMake build system for OGRE (Object-oriented Graphics Rendering Engine) http://www.ogre3d.org/
+#
+# The contents of this file are placed in the public domain. Feel
+# free to make use of it in any way you like.
+#-------------------------------------------------------------------
+
+# - Try to find OpenGLES and EGL
+# Once done this will define
+#
+# OPENGLES2_FOUND - system has OpenGLES
+# OPENGLES2_INCLUDE_DIR - the GL include directory
+# OPENGLES2_LIBRARIES - Link these to use OpenGLES
+#
+# EGL_FOUND - system has EGL
+# EGL_INCLUDE_DIR - the EGL include directory
+# EGL_LIBRARIES - Link these to use EGL
+
+# win32, apple, android NOT TESED
+# linux tested and works
+
+IF (WIN32)
+ IF (CYGWIN)
+
+ FIND_PATH(OPENGLES2_INCLUDE_DIR GLES2/gl2.h )
+
+ FIND_LIBRARY(OPENGLES2_gl_LIBRARY libGLESv2 )
+
+ ELSE (CYGWIN)
+
+ IF(BORLAND)
+ SET (OPENGLES2_gl_LIBRARY import32 CACHE STRING "OpenGL ES 2.x library for win32")
+ ELSE(BORLAND)
+ # todo
+ # SET (OPENGLES_gl_LIBRARY ${SOURCE_DIR}/Dependencies/lib/release/libGLESv2.lib CACHE STRING "OpenGL ES 2.x library for win32"
+ ENDIF(BORLAND)
+
+ ENDIF (CYGWIN)
+
+ELSE (WIN32)
+
+ IF (APPLE)
+
+ create_search_paths(/Developer/Platforms)
+ findpkg_framework(OpenGLES2)
+ set(OPENGLES2_gl_LIBRARY "-framework OpenGLES")
+
+ ELSE(APPLE)
+
+ FIND_PATH(OPENGLES2_INCLUDE_DIR GLES2/gl2.h
+ /usr/openwin/share/include
+ /opt/graphics/OpenGL/include /usr/X11R6/include
+ /usr/include
+ )
+
+ FIND_LIBRARY(OPENGLES2_gl_LIBRARY
+ NAMES GLESv2
+ PATHS /opt/graphics/OpenGL/lib
+ /usr/openwin/lib
+ /usr/shlib /usr/X11R6/lib
+ /usr/lib
+ )
+
+ IF (NOT BUILD_ANDROID)
+ FIND_PATH(EGL_INCLUDE_DIR EGL/egl.h
+ /usr/openwin/share/include
+ /opt/graphics/OpenGL/include /usr/X11R6/include
+ /usr/include
+ )
+
+ FIND_LIBRARY(EGL_egl_LIBRARY
+ NAMES EGL
+ PATHS /opt/graphics/OpenGL/lib
+ /usr/openwin/lib
+ /usr/shlib /usr/X11R6/lib
+ /usr/lib
+ )
+
+ # On Unix OpenGL most certainly always requires X11.
+ # Feel free to tighten up these conditions if you don't
+ # think this is always true.
+ # It's not true on OSX.
+
+ IF (OPENGLES2_gl_LIBRARY)
+ IF(NOT X11_FOUND)
+ INCLUDE(FindX11)
+ ENDIF(NOT X11_FOUND)
+ IF (X11_FOUND)
+ IF (NOT APPLE)
+ SET (OPENGLES2_LIBRARIES ${X11_LIBRARIES})
+ ENDIF (NOT APPLE)
+ ENDIF (X11_FOUND)
+ ENDIF (OPENGLES2_gl_LIBRARY)
+ ENDIF ()
+
+ ENDIF(APPLE)
+ENDIF (WIN32)
+
+#SET( OPENGLES2_LIBRARIES ${OPENGLES2_gl_LIBRARY} ${OPENGLES2_LIBRARIES})
+
+IF (BUILD_ANDROID)
+ IF(OPENGLES2_gl_LIBRARY)
+ SET( OPENGLES2_LIBRARIES ${OPENGLES2_gl_LIBRARY} ${OPENGLES2_LIBRARIES})
+ SET( EGL_LIBRARIES)
+ SET( OPENGLES2_FOUND "YES" )
+ ENDIF(OPENGLES2_gl_LIBRARY)
+ELSE ()
+
+ SET( OPENGLES2_LIBRARIES ${OPENGLES2_gl_LIBRARY} ${OPENGLES2_LIBRARIES})
+
+ IF(OPENGLES2_gl_LIBRARY AND EGL_egl_LIBRARY)
+ SET( OPENGLES2_LIBRARIES ${OPENGLES2_gl_LIBRARY} ${OPENGLES2_LIBRARIES})
+ SET( EGL_LIBRARIES ${EGL_egl_LIBRARY} ${EGL_LIBRARIES})
+ SET( OPENGLES2_FOUND "YES" )
+ ENDIF(OPENGLES2_gl_LIBRARY AND EGL_egl_LIBRARY)
+
+ENDIF ()
+
+MARK_AS_ADVANCED(
+ OPENGLES2_INCLUDE_DIR
+ OPENGLES2_gl_LIBRARY
+ EGL_INCLUDE_DIR
+ EGL_egl_LIBRARY
+)
+
+IF(OPENGLES2_FOUND)
+ MESSAGE(STATUS "Found system opengles2 library ${OPENGLES2_LIBRARIES}")
+ELSE ()
+ SET(OPENGLES2_LIBRARIES "")
+ENDIF ()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0f8396c02..d91248cb6 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -172,6 +172,7 @@ endif()
find_package(Jthread REQUIRED)
find_package(Sqlite3 REQUIRED)
find_package(Json REQUIRED)
+find_package(OpenGLES2)
if(USE_FREETYPE)
find_package(Freetype REQUIRED)
@@ -386,6 +387,7 @@ if(BUILD_CLIENT)
${SQLITE3_LIBRARY}
${LUA_LIBRARY}
${JSON_LIBRARY}
+ ${OPENGLES2_LIBRARIES}
${PLATFORM_LIBS}
${CLIENT_PLATFORM_LIBS}
)
diff --git a/src/main.cpp b/src/main.cpp
index 73be969ad..e5aa3017d 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1350,6 +1350,14 @@ int main(int argc, char *argv[])
driverType = video::EDT_DIRECT3D9;
else if(driverstring == "opengl")
driverType = video::EDT_OPENGL;
+#ifdef _IRR_COMPILE_WITH_OGLES1_
+ else if(driverstring == "ogles1")
+ driverType = video::EDT_OGLES1;
+#endif
+#ifdef _IRR_COMPILE_WITH_OGLES2_
+ else if(driverstring == "ogles2")
+ driverType = video::EDT_OGLES2;
+#endif
else
{
errorstream<<"WARNING: Invalid video_driver specified; defaulting "