summaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindGLX.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/FindGLX.cmake')
-rw-r--r--cmake/modules/FindGLX.cmake44
1 files changed, 44 insertions, 0 deletions
diff --git a/cmake/modules/FindGLX.cmake b/cmake/modules/FindGLX.cmake
new file mode 100644
index 0000000..77c8fce
--- /dev/null
+++ b/cmake/modules/FindGLX.cmake
@@ -0,0 +1,44 @@
1#.rst:
2# FindGLX
3# -----
4# Finds the GLX library
5#
6# This will will define the following variables::
7#
8# GLX_FOUND - system has GLX
9# GLX_INCLUDE_DIRS - the GLX include directory
10# GLX_LIBRARIES - the GLX libraries
11# GLX_DEFINITIONS - the GLX definitions
12#
13# and the following imported targets::
14#
15# GLX::GLX - The GLX library
16
17if(PKG_CONFIG_FOUND)
18 pkg_check_modules(PC_GLX glx QUIET)
19endif()
20
21find_path(GLX_INCLUDE_DIR NAMES GL/glx.h
22 PATHS ${PC_GLX_INCLUDEDIR})
23find_library(GLX_LIBRARY NAMES GL
24 PATHS ${PC_GLX_LIBDIR})
25
26include(FindPackageHandleStandardArgs)
27find_package_handle_standard_args(GLX
28 REQUIRED_VARS GLX_LIBRARY GLX_INCLUDE_DIR)
29
30if(GLX_FOUND)
31 set(GLX_LIBRARIES ${GLX_LIBRARY})
32 set(GLX_INCLUDE_DIRS ${GLX_INCLUDE_DIR})
33 set(GLX_DEFINITIONS -DHAS_GLX=1)
34
35 if(NOT TARGET GLX::GLX)
36 add_library(GLX::GLX UNKNOWN IMPORTED)
37 set_target_properties(GLX::GLX PROPERTIES
38 IMPORTED_LOCATION "${GLX_LIBRARY}"
39 INTERFACE_INCLUDE_DIRECTORIES "${GLX_INCLUDE_DIR}"
40 INTERFACE_COMPILE_DEFINITIONS HAS_GLX=1)
41 endif()
42endif()
43
44mark_as_advanced(GLX_INCLUDE_DIR GLX_LIBRARY)