1 # Try to find Mesa off-screen library and include dir. 2 # Once done this will define 4 # OSMesa_FOUND - true if OSMesa has been found 5 # OSMesa_INCLUDE_DIRS - where the GL/osmesa.h can be found 6 # OSMesa_LIBRARIES - Link this to use OSMesa 7 # OSMesa_VERSION - Version of OSMesa found 8 # OSMesa::OSMesa - Imported target 10 find_path(OSMESA_INCLUDE_DIR
12 PATHS
"${OSMESA_ROOT}/include" 13 "$ENV{OSMESA_ROOT}/include" 14 /usr/openwin/share/include
15 /opt/graphics/OpenGL/include
16 DOC
"OSMesa include directory")
17 mark_as_advanced(OSMESA_INCLUDE_DIR)
19 find_library(OSMESA_LIBRARY
20 NAMES OSMesa OSMesa16 OSMesa32
21 PATHS
"${OSMESA_ROOT}/lib" 22 "$ENV{OSMESA_ROOT}/lib" 23 /opt/graphics/OpenGL/lib
26 mark_as_advanced(OSMESA_LIBRARY)
28 if (OSMESA_INCLUDE_DIR AND EXISTS
"${OSMESA_INCLUDE_DIR}/GL/osmesa.h")
29 file(STRINGS
"${OSMESA_INCLUDE_DIR}/GL/osmesa.h" _OSMesa_version_lines
30 REGEX
"OSMESA_[A-Z]+_VERSION")
31 string(REGEX REPLACE
".*# *define +OSMESA_MAJOR_VERSION +([0-9]+).*" "\\1" _OSMesa_version_major
"${_OSMesa_version_lines}")
32 string(REGEX REPLACE
".*# *define +OSMESA_MINOR_VERSION +([0-9]+).*" "\\1" _OSMesa_version_minor
"${_OSMesa_version_lines}")
33 string(REGEX REPLACE
".*# *define +OSMESA_PATCH_VERSION +([0-9]+).*" "\\1" _OSMesa_version_patch
"${_OSMesa_version_lines}")
34 set(OSMesa_VERSION
"${_OSMesa_version_major}.${_OSMesa_version_minor}.${_OSMesa_version_patch}")
35 unset(_OSMesa_version_major)
36 unset(_OSMesa_version_minor)
37 unset(_OSMesa_version_patch)
38 unset(_OSMesa_version_lines)
41 include(FindPackageHandleStandardArgs)
42 find_package_handle_standard_args(OSMesa
43 REQUIRED_VARS OSMESA_INCLUDE_DIR OSMESA_LIBRARY
44 VERSION_VAR OSMesa_VERSION)
47 set(OSMesa_INCLUDE_DIRS "${OSMESA_INCLUDE_DIR}
") 48 set(OSMesa_LIBRARIES "${OSMESA_LIBRARY}
") 50 if (NOT TARGET OSMesa::OSMesa) 51 add_library(OSMesa::OSMesa UNKNOWN IMPORTED) 52 set_target_properties(OSMesa::OSMesa PROPERTIES 53 IMPORTED_LOCATION "${OSMESA_LIBRARY}
" 54 INTERFACE_INCLUDE_DIRECTORIES "${OSMESA_INCLUDE_DIR}
")