Browse Source

Added FindOpenGLES3.cmake module.

Seems that Mesa has both ES2 and ES3 in the same libGLESv2.so. Weird.
pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
76ac352924
  1. 4
      CMakeLists.txt
  2. 48
      modules/FindOpenGLES3.cmake
  3. 4
      src/CMakeLists.txt

4
CMakeLists.txt

@ -76,8 +76,10 @@ endif()
find_package(Corrade REQUIRED) find_package(Corrade REQUIRED)
if(NOT TARGET_GLES OR TARGET_DESKTOP_GLES) if(NOT TARGET_GLES OR TARGET_DESKTOP_GLES)
find_package(OpenGL REQUIRED) find_package(OpenGL REQUIRED)
else() elseif(TARGET_GLES2)
find_package(OpenGLES2 REQUIRED) find_package(OpenGLES2 REQUIRED)
else()
find_package(OpenGLES3 REQUIRED)
endif() endif()
if(NOT TARGET_GLES) if(NOT TARGET_GLES)
find_package(GLEW REQUIRED) find_package(GLEW REQUIRED)

48
modules/FindOpenGLES3.cmake

@ -0,0 +1,48 @@
# - Find OpenGL ES 3
#
# This module defines:
#
# OPENGLES3_FOUND - True if OpenGL ES 3 library is found
# OPENGLES3_LIBRARY - OpenGL ES 3 library
# OPENGLES3_INCLUDE_DIR - Include dir
#
#
# This file is part of Magnum.
#
# Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz>
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
# Library
find_library(OPENGLES3_LIBRARY NAMES
GLESv2) # wtf?
# Include dir
find_path(OPENGLES3_INCLUDE_DIR
NAMES gl3.h
PATH_SUFFIXES GLES3
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args("OpenGLES3" DEFAULT_MSG
OPENGLES3_LIBRARY
OPENGLES3_INCLUDE_DIR
)

4
src/CMakeLists.txt

@ -158,8 +158,10 @@ set(Magnum_LIBS
${CORRADE_PLUGINMANAGER_LIBRARY}) ${CORRADE_PLUGINMANAGER_LIBRARY})
if(NOT TARGET_GLES OR TARGET_DESKTOP_GLES) if(NOT TARGET_GLES OR TARGET_DESKTOP_GLES)
set(Magnum_LIBS ${Magnum_LIBS} ${OPENGL_gl_LIBRARY}) set(Magnum_LIBS ${Magnum_LIBS} ${OPENGL_gl_LIBRARY})
else() elseif(TARGET_GLES2)
set(Magnum_LIBS ${Magnum_LIBS} ${OPENGLES2_LIBRARY}) set(Magnum_LIBS ${Magnum_LIBS} ${OPENGLES2_LIBRARY})
else()
set(Magnum_LIBS ${Magnum_LIBS} ${OPENGLES3_LIBRARY})
endif() endif()
if(NOT TARGET_GLES) if(NOT TARGET_GLES)
set(Magnum_LIBS ${Magnum_LIBS} ${GLEW_LIBRARIES}) set(Magnum_LIBS ${Magnum_LIBS} ${GLEW_LIBRARIES})

Loading…
Cancel
Save