Merge pull request #25883 from CrystalP/fix-slowscan
[xbmc.git] / cmake / modules / FindOpenGLES.cmake
blobc2c23cc97582f8e2d4ccb4d0ca115ff6c94b3318
1 #.rst:
2 # FindOpenGLES
3 # ------------
4 # Finds the OpenGLES library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::OpenGLES - The OpenGLES IMPORTED library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
11   find_package(PkgConfig)
12   if(PKG_CONFIG_FOUND)
13     pkg_check_modules(PC_OPENGLES glesv2 QUIET)
14   endif()
16   find_library(OPENGLES_gl_LIBRARY NAMES GLESv2 OpenGLES
17                                    HINTS ${PC_OPENGLES_LIBDIR} ${CMAKE_OSX_SYSROOT}/System/Library
18                                    PATH_SUFFIXES Frameworks)
19   find_path(OPENGLES_INCLUDE_DIR NAMES GLES2/gl2.h ES2/gl.h
20                                  HINTS ${PC_OPENGLES_INCLUDEDIR} ${OPENGLES_gl_LIBRARY}/Headers)
21   find_path(OPENGLES3_INCLUDE_DIR NAMES GLES3/gl3.h ES3/gl.h
22                                   HINTS ${PC_OPENGLES_INCLUDEDIR} ${OPENGLES_gl_LIBRARY}/Headers)
24   include(FindPackageHandleStandardArgs)
25   find_package_handle_standard_args(OpenGLES
26                                     REQUIRED_VARS OPENGLES_gl_LIBRARY OPENGLES_INCLUDE_DIR)
28   if(OPENGLES_FOUND)
29     if(${OPENGLES_gl_LIBRARY} MATCHES ".+\.so$")
30       add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} SHARED IMPORTED)
31     else()
32       add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
33     endif()
35     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
36                                                                      IMPORTED_LOCATION "${OPENGLES_gl_LIBRARY}"
37                                                                      INTERFACE_INCLUDE_DIRECTORIES "${OPENGLES_INCLUDE_DIR}"
38                                                                      IMPORTED_NO_SONAME TRUE)
40     if(OPENGLES3_INCLUDE_DIR)
41       set_property(TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} APPEND PROPERTY
42                                                                             INTERFACE_INCLUDE_DIRECTORIES "${OPENGLES3_INCLUDE_DIR}")
43       set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
44                                                                        INTERFACE_COMPILE_DEFINITIONS HAS_GLES=3)
45     else()
46       set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
47                                                                        INTERFACE_COMPILE_DEFINITIONS HAS_GLES=2)
48     endif()
49   endif()
50 endif()