|
1 | | -# Try to find OSMesa. Once done this will define |
| 1 | +# Try to find Mesa off-screen library and include dir. |
| 2 | +# Once done this will define |
2 | 3 | # |
3 | | -# OSMESA_FOUND - true if OSMesa has been found |
4 | | -# OSMESA_INCLUDE_DIR - where the GL/osmesa.h can be found |
5 | | -# OSMESA_LIBRARIES - Link this to use OSMesa |
| 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 |
6 | 9 |
|
7 | | -find_path( OSMESA_INCLUDE_DIR NAMES GL/osmesa.h PATHS "${OSMESA_ROOT}/include" "$ENV{OSMESA_ROOT}/include" "/usr/local/include" "/usr/include" NO_DEFAULT_PATH ) |
8 | | -find_library( OSMESA_LIBRARIES NAMES OSMesa PATHS "${OSMESA_ROOT}/lib" "$ENV{OSMESA_ROOT}/lib" "${OSMESA_ROOT}/lib/x86_64-linux-gnu" "/usr/local/lib" "/usr/lib/x86_64-linux-gnu" PATH_SUFFIXES gallium NO_DEFAULT_PATH ) |
9 | | -find_library( OSMESA_GL_LIBRARIES Names GL PATHS "${OSMESA_ROOT}/lib" "$ENV{OSMESA_ROOT}/lib" "${OSMESA_ROOT}/lib/x86_64-linux-gnu" "/usr/local/lib" "/usr/lib/x86_64-linux-gnu" PATH_SUFFIXES gallium NO_DEFAULT_PATH ) |
| 10 | +find_path(OSMESA_INCLUDE_DIR |
| 11 | + NAMES GL/osmesa.h |
| 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) |
10 | 18 |
|
11 | | -include( FindPackageHandleStandardArgs ) |
12 | | -find_package_handle_standard_args( OSMesa DEFAULT_MSG OSMESA_LIBRARIES OSMESA_INCLUDE_DIR OSMESA_GL_LIBRARIES ) |
| 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 |
| 24 | + /usr/openwin/lib |
| 25 | + DOC "OSMesa library") |
| 26 | +mark_as_advanced(OSMESA_LIBRARY) |
13 | 27 |
|
14 | | -mark_as_advanced( OSMESA_INCLUDE_DIR OSMESA_LIBRARY OSMESA_GL_LIBRARIES ) |
| 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) |
| 39 | +endif () |
| 40 | + |
| 41 | +include(FindPackageHandleStandardArgs) |
| 42 | +find_package_handle_standard_args(OSMesa |
| 43 | + REQUIRED_VARS OSMESA_INCLUDE_DIR OSMESA_LIBRARY |
| 44 | + VERSION_VAR OSMesa_VERSION) |
| 45 | + |
| 46 | +if (OSMesa_FOUND) |
| 47 | + set(OSMesa_INCLUDE_DIRS "${OSMESA_INCLUDE_DIR}") |
| 48 | + set(OSMesa_LIBRARIES "${OSMESA_LIBRARY}") |
| 49 | + |
| 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}") |
| 55 | + endif () |
| 56 | +endif () |
0 commit comments