#------------------------------------------------------------------- # This file is part of the CMake build system for OGRE # (Object-oriented Graphics Rendering Engine) # For the latest info, see 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 # If using ARM Mali emulation you can specify the parent directory that contains the bin and include directories by # setting the MALI_SDK_ROOT variable in the environment. # # For AMD emulation use the AMD_SDK_ROOT variable # # 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 include(FindPkgMacros) 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) getenv_path(AMD_SDK_ROOT) getenv_path(MALI_SDK_ROOT) getenv_path(POWERVR_SDK_PATH) FIND_PATH(OPENGLES2_INCLUDE_DIR GLES2/gl2.h ${ENV_AMD_SDK_ROOT}/include ${ENV_MALI_SDK_ROOT}/include ${ENV_POWERVR_SDK_PATH}/Include ) FIND_PATH(EGL_INCLUDE_DIR EGL/egl.h ${ENV_AMD_SDK_ROOT}/include ${ENV_MALI_SDK_ROOT}/include ${ENV_POWERVR_SDK_PATH}/Include ) FIND_LIBRARY(OPENGLES2_gl_LIBRARY NAMES libGLESv2 PATHS ${ENV_AMD_SDK_ROOT}/x86 ${ENV_MALI_SDK_ROOT} ${ENV_POWERVR_SDK_PATH}/Windows/x86_32/Lib ) FIND_LIBRARY(EGL_egl_LIBRARY NAMES libEGL PATHS ${ENV_AMD_SDK_ROOT}/x86 ${ENV_MALI_SDK_ROOT} ${ENV_POWERVR_SDK_PATH}/Windows/x86_32/Lib ) ENDIF(BORLAND) ENDIF (CYGWIN) ELSE (WIN32) IF (APPLE) create_search_paths(/Developer/Platforms) findpkg_framework(OpenGLES2) set(OPENGLES2_gl_LIBRARY "-framework OpenGLES") SET( OPENGLES2_FOUND TRUE ) SET( EGL_FOUND TRUE) ELSE() getenv_path(AMD_SDK_ROOT) getenv_path(MALI_SDK_ROOT) FIND_PATH(OPENGLES2_INCLUDE_DIR GLES2/gl2.h ${CMAKE_FIND_ROOT_PATH}/usr/include ${ENV_AMD_SDK_ROOT}/include ${ENV_MALI_SDK_ROOT}/include /opt/Imagination/PowerVR/GraphicsSDK/SDK_3.1/Builds/Include /usr/openwin/share/include /opt/graphics/OpenGL/include /usr/X11R6/include /usr/include /opt/vc/include NO_CMAKE_SYSTEM_PATH ) FIND_LIBRARY(OPENGLES2_gl_LIBRARY NAMES GLESv2 libGLESv2_static.a GLESv2_static libGLESv2 PATHS ${CMAKE_FIND_ROOT_PATH} ${ENV_AMD_SDK_ROOT}/x86 ${ENV_MALI_SDK_ROOT}/bin /opt/Imagination/PowerVR/GraphicsSDK/SDK_3.1/Builds/Linux/x86_32/Lib /opt/graphics/OpenGL/lib /usr/openwin/lib /usr/lib/arm-linux-gnueabihf /usr/shlib /usr/X11R6/lib /usr/lib /opt/vc/lib ) FIND_PATH(EGL_INCLUDE_DIR EGL/egl.h ${CMAKE_FIND_ROOT_PATH}/usr/include ${ENV_AMD_SDK_ROOT}/include ${ENV_MALI_SDK_ROOT}/include /opt/Imagination/PowerVR/GraphicsSDK/SDK_3.1/Builds/Include /usr/openwin/share/include /opt/graphics/OpenGL/include /usr/X11R6/include /usr/include /opt/vc/include NO_CMAKE_SYSTEM_PATH ) FIND_LIBRARY(EGL_egl_LIBRARY NAMES EGL libEGL_static.a EGL_static libEGL PATHS ${CMAKE_FIND_ROOT_PATH} ${ENV_AMD_SDK_ROOT}/x86 ${ENV_MALI_SDK_ROOT}/bin /opt/Imagination/PowerVR/GraphicsSDK/SDK_3.1/Builds/Linux/x86_32/Lib /opt/vc/lib /opt/graphics/OpenGL/lib /usr/openwin/lib /usr/lib/arm-linux-gnueabihf /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(APPLE) ENDIF (WIN32) # Add HLSL2GLSL lib find_package(HLSL2GLSL) SET( OPENGLES2_LIBRARIES ${OPENGLES2_LIBRARIES} ${HLSL2GLSL_LIBRARIES}) # Add GLSL Optimizer lib find_package(GLSLOptimizer) SET( OPENGLES2_LIBRARIES ${OPENGLES2_LIBRARIES} ${GLSL_Optimizer_LIBRARIES}) SET( OPENGLES2_FOUND "YES" ) IF(OPENGLES2_gl_LIBRARY AND EGL_egl_LIBRARY) SET( EGL_LIBRARIES ${EGL_egl_LIBRARY} ${EGL_LIBRARIES}) SET( OPENGLES2_LIBRARIES ${OPENGLES2_LIBRARIES} ${OPENGLES2_gl_LIBRARY} ${EGL_LIBRARIES}) SET( OPENGLES2_FOUND "YES" ) SET(OPENGLES2_INCLUDE_DIRS ${OPENGLES2_INCLUDE_DIR} ${EGL_INCLUDE_DIR} ${OPENGLES2_INCLUDE_DIR}/interface/vcos/pthreads) if (RPI) SET(OPENGLES2_INCLUDE_DIRS ${OPENGLES2_INCLUDE_DIRS} ${OPENGLES2_INCLUDE_DIR}/interface/vcos/pthreads ${OPENGLES2_INCLUDE_DIR}/interface/vmcs_host/linux) endif (RPI) ENDIF(OPENGLES2_gl_LIBRARY AND EGL_egl_LIBRARY) MARK_AS_ADVANCED( OPENGLES2_INCLUDE_DIR OPENGLES2_gl_LIBRARY EGL_INCLUDE_DIR EGL_egl_LIBRARY )