diff options
Diffstat (limited to 'cmake/modules/FindGLX.cmake')
| -rw-r--r-- | cmake/modules/FindGLX.cmake | 44 |
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 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_GLX glx QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(GLX_INCLUDE_DIR NAMES GL/glx.h | ||
| 22 | PATHS ${PC_GLX_INCLUDEDIR}) | ||
| 23 | find_library(GLX_LIBRARY NAMES GL | ||
| 24 | PATHS ${PC_GLX_LIBDIR}) | ||
| 25 | |||
| 26 | include(FindPackageHandleStandardArgs) | ||
| 27 | find_package_handle_standard_args(GLX | ||
| 28 | REQUIRED_VARS GLX_LIBRARY GLX_INCLUDE_DIR) | ||
| 29 | |||
| 30 | if(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() | ||
| 42 | endif() | ||
| 43 | |||
| 44 | mark_as_advanced(GLX_INCLUDE_DIR GLX_LIBRARY) | ||
