Merge pull request #25883 from CrystalP/fix-slowscan
[xbmc.git] / cmake / modules / FindGLX.cmake
blob67e19f4ebaa6415b03afb43444897be383b2e318
1 #.rst:
2 # FindGLX
3 # -----
4 # Finds the GLX library
6 # This will define the following target:
8 #   ${APP_NAME_LC}::GLX    - The GLX library
10 if(NOT TARGET ${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME})
11   find_package(PkgConfig)
13   if(PKG_CONFIG_FOUND)
14     pkg_check_modules(PC_GLX glx QUIET)
15   endif()
17   find_path(GLX_INCLUDE_DIR NAMES GL/glx.h
18                             HINTS ${PC_GLX_INCLUDEDIR})
19   find_library(GLX_LIBRARY NAMES GL
20                            HINTS ${PC_GLX_LIBDIR})
22   include(FindPackageHandleStandardArgs)
23   find_package_handle_standard_args(GLX
24                                     REQUIRED_VARS GLX_LIBRARY GLX_INCLUDE_DIR)
26   if(GLX_FOUND)
27     list(APPEND GL_INTERFACES_LIST glx)
28     set(GL_INTERFACES_LIST ${GL_INTERFACES_LIST} PARENT_SCOPE)
30     add_library(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} UNKNOWN IMPORTED)
31     set_target_properties(${APP_NAME_LC}::${CMAKE_FIND_PACKAGE_NAME} PROPERTIES
32                                                                      IMPORTED_LOCATION "${GLX_LIBRARY}"
33                                                                      INTERFACE_INCLUDE_DIRECTORIES "${GLX_INCLUDE_DIR}"
34                                                                      INTERFACE_COMPILE_DEFINITIONS HAS_GLX)
35   endif()
36 endif()