summaryrefslogtreecommitdiff
path: root/cmake/Modules/FindOpenGLES2.cmake
blob: 42d31c898f8878cca48e4447a8f7630059cc3b84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
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 ()