123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543 |
- set(_OpenGL_REQUIRED_VARS OPENGL_gl_LIBRARY)
- foreach(component ${OpenGL_FIND_COMPONENTS})
- string(TOUPPER ${component} _COMPONENT)
- set(OPENGL_USE_${_COMPONENT} 1)
- endforeach()
- if (CYGWIN)
- find_path(OPENGL_INCLUDE_DIR GL/gl.h )
- list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
- find_library(OPENGL_gl_LIBRARY opengl32 )
- find_library(OPENGL_glu_LIBRARY glu32 )
- elseif (WIN32)
- if(BORLAND)
- set (OPENGL_gl_LIBRARY import32 CACHE STRING "OpenGL library for win32")
- set (OPENGL_glu_LIBRARY import32 CACHE STRING "GLU library for win32")
- else()
- set (OPENGL_gl_LIBRARY opengl32 CACHE STRING "OpenGL library for win32")
- set (OPENGL_glu_LIBRARY glu32 CACHE STRING "GLU library for win32")
- endif()
- elseif (APPLE)
-
- find_library(OPENGL_gl_LIBRARY OpenGL DOC "OpenGL library for OS X")
- find_library(OPENGL_glu_LIBRARY OpenGL DOC
- "GLU library for OS X (usually same as OpenGL library)")
- find_path(OPENGL_INCLUDE_DIR OpenGL/gl.h DOC "Include for OpenGL on OS X")
- list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
- else()
- if (CMAKE_SYSTEM_NAME MATCHES "HP-UX")
-
-
- if(CMAKE_SIZEOF_VOID_P EQUAL 4)
- set(_OPENGL_LIB_PATH
- /opt/graphics/OpenGL/lib/hpux32/)
- else()
- set(_OPENGL_LIB_PATH
- /opt/graphics/OpenGL/lib/hpux64/
- /opt/graphics/OpenGL/lib/pa20_64)
- endif()
- elseif(CMAKE_SYSTEM_NAME STREQUAL Haiku)
- set(_OPENGL_LIB_PATH
- /boot/develop/lib/x86)
- set(_OPENGL_INCLUDE_PATH
- /boot/develop/headers/os/opengl)
- endif()
-
-
-
-
-
-
-
- find_path(OPENGL_INCLUDE_DIR GL/gl.h
- /usr/share/doc/NVIDIA_GLX-1.0/include
- /usr/openwin/share/include
- /opt/graphics/OpenGL/include
- ${_OPENGL_INCLUDE_PATH}
- )
- find_path(OPENGL_GLX_INCLUDE_DIR GL/glx.h ${_OPENGL_INCLUDE_PATH})
- find_path(OPENGL_EGL_INCLUDE_DIR EGL/egl.h ${_OPENGL_INCLUDE_PATH})
- find_path(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h
- /usr/share/doc/NVIDIA_GLX-1.0/include
- /usr/openwin/share/include
- /opt/graphics/OpenGL/include
- )
-
-
- find_library(OPENGL_opengl_LIBRARY
- NAMES OpenGL
- PATHS ${_OPENGL_LIB_PATH}
- )
- find_library(OPENGL_glx_LIBRARY
- NAMES GLX
- PATHS ${_OPENGL_LIB_PATH}
- )
- find_library(OPENGL_egl_LIBRARY
- NAMES EGL
- PATHS ${_OPENGL_LIB_PATH}
- )
- find_library(OPENGL_glu_LIBRARY
- NAMES GLU MesaGLU
- PATHS ${OPENGL_gl_LIBRARY}
- /opt/graphics/OpenGL/lib
- /usr/openwin/lib
- /usr/shlib
- )
- set(_OpenGL_GL_POLICY_WARN 0)
- if(NOT DEFINED OpenGL_GL_PREFERENCE)
- set(OpenGL_GL_PREFERENCE "")
- endif()
- if(NOT OpenGL_GL_PREFERENCE STREQUAL "")
-
- if(NOT OpenGL_GL_PREFERENCE MATCHES "^(GLVND|LEGACY)$")
- message(FATAL_ERROR
- "OpenGL_GL_PREFERENCE value '${OpenGL_GL_PREFERENCE}' not recognized. "
- "Allowed values are 'GLVND' and 'LEGACY'."
- )
- endif()
- elseif(OpenGL_FIND_COMPONENTS)
-
-
- set(OpenGL_GL_PREFERENCE "GLVND")
- else()
-
-
- cmake_policy(GET CMP0072 _OpenGL_GL_POLICY)
- if("x${_OpenGL_GL_POLICY}x" STREQUAL "xNEWx")
- set(OpenGL_GL_PREFERENCE "GLVND")
- else()
- set(OpenGL_GL_PREFERENCE "LEGACY")
- if("x${_OpenGL_GL_POLICY}x" STREQUAL "xx")
- set(_OpenGL_GL_POLICY_WARN 1)
- endif()
- endif()
- unset(_OpenGL_GL_POLICY)
- endif()
- if("x${OpenGL_GL_PREFERENCE}x" STREQUAL "xGLVNDx" AND OPENGL_opengl_LIBRARY AND OPENGL_glx_LIBRARY)
-
-
- set(OPENGL_gl_LIBRARY "")
- else()
-
-
- find_library(OPENGL_gl_LIBRARY
- NAMES GL MesaGL
- PATHS /opt/graphics/OpenGL/lib
- /usr/openwin/lib
- /usr/shlib
- ${_OPENGL_LIB_PATH}
- )
- endif()
- if(_OpenGL_GL_POLICY_WARN AND OPENGL_gl_LIBRARY AND OPENGL_opengl_LIBRARY AND OPENGL_glx_LIBRARY)
- message(AUTHOR_WARNING
- "Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when available. "
- "Run \"cmake --help-policy CMP0072\" for policy details. "
- "Use the cmake_policy command to set the policy and suppress this warning."
- "\n"
- "FindOpenGL found both a legacy GL library:\n"
- " OPENGL_gl_LIBRARY: ${OPENGL_gl_LIBRARY}\n"
- "and GLVND libraries for OpenGL and GLX:\n"
- " OPENGL_opengl_LIBRARY: ${OPENGL_opengl_LIBRARY}\n"
- " OPENGL_glx_LIBRARY: ${OPENGL_glx_LIBRARY}\n"
- "OpenGL_GL_PREFERENCE has not been set to \"GLVND\" or \"LEGACY\", so for "
- "compatibility with CMake 3.10 and below the legacy GL library will be used."
- )
- endif()
- unset(_OpenGL_GL_POLICY_WARN)
-
-
- set(_OpenGL_REQUIRED_VARS)
-
-
-
-
- if((NOT OPENGL_USE_EGL AND
- NOT OPENGL_opengl_LIBRARY AND
- OPENGL_glx_LIBRARY AND
- NOT OPENGL_gl_LIBRARY) OR
- (NOT OPENGL_USE_EGL AND
- NOT OPENGL_glx_LIBRARY AND
- NOT OPENGL_gl_LIBRARY) OR
- (NOT OPENGL_USE_EGL AND
- OPENGL_opengl_LIBRARY AND
- OPENGL_glx_LIBRARY) OR
- ( OPENGL_USE_EGL))
- list(APPEND _OpenGL_REQUIRED_VARS OPENGL_opengl_LIBRARY)
- endif()
-
- if((NOT OPENGL_USE_OPENGL AND
- NOT OPENGL_USE_GLX AND
- NOT OPENGL_USE_EGL AND
- NOT OPENGL_glx_LIBRARY AND
- NOT OPENGL_gl_LIBRARY) OR
- ( OPENGL_USE_GLX AND
- NOT OPENGL_USE_EGL AND
- NOT OPENGL_glx_LIBRARY AND
- NOT OPENGL_gl_LIBRARY) OR
- (NOT OPENGL_USE_EGL AND
- OPENGL_opengl_LIBRARY AND
- OPENGL_glx_LIBRARY) OR
- (OPENGL_USE_GLX AND OPENGL_USE_EGL))
- list(APPEND _OpenGL_REQUIRED_VARS OPENGL_glx_LIBRARY)
- endif()
-
- if(OPENGL_USE_EGL)
- list(APPEND _OpenGL_REQUIRED_VARS OPENGL_egl_LIBRARY)
- endif()
-
- if((NOT OPENGL_USE_EGL AND
- NOT OPENGL_opengl_LIBRARY AND
- OPENGL_glx_LIBRARY AND
- OPENGL_gl_LIBRARY) OR
- (NOT OPENGL_USE_EGL AND
- NOT OPENGL_glx_LIBRARY AND
- OPENGL_gl_LIBRARY))
- list(APPEND _OpenGL_REQUIRED_VARS OPENGL_gl_LIBRARY)
- endif()
-
- list(APPEND _OpenGL_REQUIRED_VARS OPENGL_INCLUDE_DIR)
- unset(_OPENGL_INCLUDE_PATH)
- unset(_OPENGL_LIB_PATH)
- find_library(OPENGL_glu_LIBRARY
- NAMES GLU MesaGLU
- PATHS ${OPENGL_gl_LIBRARY}
- /opt/graphics/OpenGL/lib
- /usr/openwin/lib
- /usr/shlib
- )
- endif ()
- if(OPENGL_xmesa_INCLUDE_DIR)
- set( OPENGL_XMESA_FOUND "YES" )
- else()
- set( OPENGL_XMESA_FOUND "NO" )
- endif()
- if(OPENGL_glu_LIBRARY)
- set( OPENGL_GLU_FOUND "YES" )
- else()
- set( OPENGL_GLU_FOUND "NO" )
- endif()
- if(NOT OPENGL_opengl_LIBRARY AND NOT OPENGL_gl_LIBRARY)
- set(OpenGL_OpenGL_FOUND FALSE)
- else()
- set(OpenGL_OpenGL_FOUND TRUE)
- endif()
- if(OPENGL_glx_LIBRARY AND OPENGL_GLX_INCLUDE_DIR)
- set(OpenGL_GLX_FOUND TRUE)
- else()
- set(OpenGL_GLX_FOUND FALSE)
- endif()
- if(OPENGL_egl_LIBRARY AND OPENGL_EGL_INCLUDE_DIR)
- set(OpenGL_EGL_FOUND TRUE)
- else()
- set(OpenGL_EGL_FOUND FALSE)
- endif()
- if(OPENGL_EGL_INCLUDE_DIR)
- set(OPENGL_EGL_INCLUDE_DIRS ${OPENGL_EGL_INCLUDE_DIR})
- endif()
- include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenGL REQUIRED_VARS ${_OpenGL_REQUIRED_VARS}
- HANDLE_COMPONENTS)
- unset(_OpenGL_REQUIRED_VARS)
- if(OPENGL_FOUND)
-
-
- if(OPENGL_opengl_LIBRARY AND NOT TARGET OpenGL::OpenGL)
- if(IS_ABSOLUTE "${OPENGL_opengl_LIBRARY}")
- add_library(OpenGL::OpenGL UNKNOWN IMPORTED)
- set_target_properties(OpenGL::OpenGL PROPERTIES IMPORTED_LOCATION
- "${OPENGL_opengl_LIBRARY}")
- else()
- add_library(OpenGL::OpenGL INTERFACE IMPORTED)
- set_target_properties(OpenGL::OpenGL PROPERTIES IMPORTED_LIBNAME
- "${OPENGL_opengl_LIBRARY}")
- endif()
- set_target_properties(OpenGL::OpenGL PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
- "${OPENGL_INCLUDE_DIR}")
- endif()
-
-
- if(OpenGL_GLX_FOUND AND NOT TARGET OpenGL::GLX)
- if(IS_ABSOLUTE "${OPENGL_glx_LIBRARY}")
- add_library(OpenGL::GLX UNKNOWN IMPORTED)
- set_target_properties(OpenGL::GLX PROPERTIES IMPORTED_LOCATION
- "${OPENGL_glx_LIBRARY}")
- else()
- add_library(OpenGL::GLX INTERFACE IMPORTED)
- set_target_properties(OpenGL::GLX PROPERTIES IMPORTED_LIBNAME
- "${OPENGL_glx_LIBRARY}")
- endif()
- set_target_properties(OpenGL::GLX PROPERTIES INTERFACE_LINK_LIBRARIES
- OpenGL::OpenGL)
- set_target_properties(OpenGL::GLX PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
- "${OPENGL_GLX_INCLUDE_DIR}")
- endif()
- if(OPENGL_gl_LIBRARY AND NOT TARGET OpenGL::GL)
-
- if(IS_ABSOLUTE "${OPENGL_gl_LIBRARY}")
- add_library(OpenGL::GL UNKNOWN IMPORTED)
- if(OPENGL_gl_LIBRARY MATCHES "/([^/]+)\\.framework$")
- set(_gl_fw "${OPENGL_gl_LIBRARY}/${CMAKE_MATCH_1}")
- if(EXISTS "${_gl_fw}.tbd")
- string(APPEND _gl_fw ".tbd")
- endif()
- set_target_properties(OpenGL::GL PROPERTIES
- IMPORTED_LOCATION "${_gl_fw}")
- else()
- set_target_properties(OpenGL::GL PROPERTIES
- IMPORTED_LOCATION "${OPENGL_gl_LIBRARY}")
- endif()
- else()
- add_library(OpenGL::GL INTERFACE IMPORTED)
- set_target_properties(OpenGL::GL PROPERTIES
- IMPORTED_LIBNAME "${OPENGL_gl_LIBRARY}")
- endif()
- set_target_properties(OpenGL::GL PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${OPENGL_INCLUDE_DIR}")
- elseif(NOT TARGET OpenGL::GL AND TARGET OpenGL::OpenGL AND TARGET OpenGL::GLX)
-
-
- add_library(OpenGL::GL INTERFACE IMPORTED)
- set_target_properties(OpenGL::GL PROPERTIES INTERFACE_LINK_LIBRARIES
- OpenGL::OpenGL)
- set_property(TARGET OpenGL::GL APPEND PROPERTY INTERFACE_LINK_LIBRARIES
- OpenGL::GLX)
- set_target_properties(OpenGL::GL PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
- "${OPENGL_INCLUDE_DIR}")
- endif()
-
-
-
-
-
- if(TARGET OpenGL::OpenGL AND OpenGL_EGL_FOUND AND NOT TARGET OpenGL::EGL)
- if(IS_ABSOLUTE "${OPENGL_egl_LIBRARY}")
- add_library(OpenGL::EGL UNKNOWN IMPORTED)
- set_target_properties(OpenGL::EGL PROPERTIES IMPORTED_LOCATION
- "${OPENGL_egl_LIBRARY}")
- else()
- add_library(OpenGL::EGL INTERFACE IMPORTED)
- set_target_properties(OpenGL::EGL PROPERTIES IMPORTED_LIBNAME
- "${OPENGL_egl_LIBRARY}")
- endif()
- set_target_properties(OpenGL::EGL PROPERTIES INTERFACE_LINK_LIBRARIES
- OpenGL::OpenGL)
-
- set_target_properties(OpenGL::EGL PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
- "${OPENGL_EGL_INCLUDE_DIR}")
- endif()
- if(OPENGL_GLU_FOUND AND NOT TARGET OpenGL::GLU)
- if(IS_ABSOLUTE "${OPENGL_glu_LIBRARY}")
- add_library(OpenGL::GLU UNKNOWN IMPORTED)
- if(OPENGL_glu_LIBRARY MATCHES "/([^/]+)\\.framework$")
- set(_glu_fw "${OPENGL_glu_LIBRARY}/${CMAKE_MATCH_1}")
- if(EXISTS "${_glu_fw}.tbd")
- string(APPEND _glu_fw ".tbd")
- endif()
- set_target_properties(OpenGL::GLU PROPERTIES
- IMPORTED_LOCATION "${_glu_fw}")
- else()
- set_target_properties(OpenGL::GLU PROPERTIES
- IMPORTED_LOCATION "${OPENGL_glu_LIBRARY}")
- endif()
- else()
- add_library(OpenGL::GLU INTERFACE IMPORTED)
- set_target_properties(OpenGL::GLU PROPERTIES
- IMPORTED_LIBNAME "${OPENGL_glu_LIBRARY}")
- endif()
- set_target_properties(OpenGL::GLU PROPERTIES
- INTERFACE_LINK_LIBRARIES OpenGL::GL)
- endif()
-
- if(OPENGL_gl_LIBRARY)
- set(OPENGL_LIBRARIES ${OPENGL_gl_LIBRARY})
- elseif(TARGET OpenGL::OpenGL AND TARGET OpenGL::GLX)
- set(OPENGL_LIBRARIES ${OPENGL_opengl_LIBRARY} ${OPENGL_glx_LIBRARY})
- else()
- set(OPENGL_LIBRARIES "")
- endif()
-
- if(TARGET OpenGL::GLU)
- list(APPEND OPENGL_LIBRARIES ${OPENGL_glu_LIBRARY})
- endif()
- endif()
- set(OPENGL_LIBRARY ${OPENGL_LIBRARIES})
- set(OPENGL_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
- mark_as_advanced(
- OPENGL_INCLUDE_DIR
- OPENGL_xmesa_INCLUDE_DIR
- OPENGL_egl_LIBRARY
- OPENGL_glu_LIBRARY
- OPENGL_glx_LIBRARY
- OPENGL_gl_LIBRARY
- OPENGL_opengl_LIBRARY
- OPENGL_EGL_INCLUDE_DIR
- OPENGL_GLX_INCLUDE_DIR
- )
|