1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-19 02:17:27 +08:00

Help: Convert FindOpenGL documentation to block comment

This commit is contained in:
Kyle Edwards
2018-10-10 10:55:40 -04:00
parent 3499c91a1b
commit f9f96598df

View File

@@ -1,125 +1,126 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details. # file Copyright.txt or https://cmake.org/licensing for details.
#.rst: #[=======================================================================[.rst:
# FindOpenGL FindOpenGL
# ---------- ----------
#
# FindModule for OpenGL and GLU. FindModule for OpenGL and GLU.
#
# Optional COMPONENTS Optional COMPONENTS
# ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
#
# This module respects several optional COMPONENTS: ``EGL``, ``GLX``, and This module respects several optional COMPONENTS: ``EGL``, ``GLX``, and
# ``OpenGL``. There are corresponding import targets for each of these flags. ``OpenGL``. There are corresponding import targets for each of these flags.
#
# IMPORTED Targets IMPORTED Targets
# ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
#
# This module defines the :prop_tgt:`IMPORTED` targets: This module defines the :prop_tgt:`IMPORTED` targets:
#
# ``OpenGL::GL`` ``OpenGL::GL``
# Defined to the platform-specific OpenGL libraries if the system has OpenGL. Defined to the platform-specific OpenGL libraries if the system has OpenGL.
# ``OpenGL::OpenGL`` ``OpenGL::OpenGL``
# Defined to libOpenGL if the system is GLVND-based. Defined to libOpenGL if the system is GLVND-based.
# ``OpenGL::GLU`` ``OpenGL::GLU``
# Defined if the system has GLU. Defined if the system has GLU.
# ``OpenGL::GLX`` ``OpenGL::GLX``
# Defined if the system has GLX. Defined if the system has GLX.
# ``OpenGL::EGL`` ``OpenGL::EGL``
# Defined if the system has EGL. Defined if the system has EGL.
#
# Result Variables Result Variables
# ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
#
# This module sets the following variables: This module sets the following variables:
#
# ``OPENGL_FOUND`` ``OPENGL_FOUND``
# True, if the system has OpenGL and all components are found. True, if the system has OpenGL and all components are found.
# ``OPENGL_XMESA_FOUND`` ``OPENGL_XMESA_FOUND``
# True, if the system has XMESA. True, if the system has XMESA.
# ``OPENGL_GLU_FOUND`` ``OPENGL_GLU_FOUND``
# True, if the system has GLU. True, if the system has GLU.
# ``OpenGL_OpenGL_FOUND`` ``OpenGL_OpenGL_FOUND``
# True, if the system has an OpenGL library. True, if the system has an OpenGL library.
# ``OpenGL_GLX_FOUND`` ``OpenGL_GLX_FOUND``
# True, if the system has GLX. True, if the system has GLX.
# ``OpenGL_EGL_FOUND`` ``OpenGL_EGL_FOUND``
# True, if the system has EGL. True, if the system has EGL.
# ``OPENGL_INCLUDE_DIR`` ``OPENGL_INCLUDE_DIR``
# Path to the OpenGL include directory. Path to the OpenGL include directory.
# ``OPENGL_EGL_INCLUDE_DIRS`` ``OPENGL_EGL_INCLUDE_DIRS``
# Path to the EGL include directory. Path to the EGL include directory.
# ``OPENGL_LIBRARIES`` ``OPENGL_LIBRARIES``
# Paths to the OpenGL library, windowing system libraries, and GLU libraries. Paths to the OpenGL library, windowing system libraries, and GLU libraries.
# On Linux, this assumes GLX and is never correct for EGL-based targets. On Linux, this assumes GLX and is never correct for EGL-based targets.
# Clients are encouraged to use the ``OpenGL::*`` import targets instead. Clients are encouraged to use the ``OpenGL::*`` import targets instead.
#
# Cache variables Cache variables
# ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
#
# The following cache variables may also be set: The following cache variables may also be set:
#
# ``OPENGL_egl_LIBRARY`` ``OPENGL_egl_LIBRARY``
# Path to the EGL library. Path to the EGL library.
# ``OPENGL_glu_LIBRARY`` ``OPENGL_glu_LIBRARY``
# Path to the GLU library. Path to the GLU library.
# ``OPENGL_glx_LIBRARY`` ``OPENGL_glx_LIBRARY``
# Path to the GLVND 'GLX' library. Path to the GLVND 'GLX' library.
# ``OPENGL_opengl_LIBRARY`` ``OPENGL_opengl_LIBRARY``
# Path to the GLVND 'OpenGL' library Path to the GLVND 'OpenGL' library
# ``OPENGL_gl_LIBRARY`` ``OPENGL_gl_LIBRARY``
# Path to the OpenGL library. New code should prefer the ``OpenGL::*`` import Path to the OpenGL library. New code should prefer the ``OpenGL::*`` import
# targets. targets.
#
# Linux-specific Linux-specific
# ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
#
# Some Linux systems utilize GLVND as a new ABI for OpenGL. GLVND separates Some Linux systems utilize GLVND as a new ABI for OpenGL. GLVND separates
# context libraries from OpenGL itself; OpenGL lives in "libOpenGL", and context libraries from OpenGL itself; OpenGL lives in "libOpenGL", and
# contexts are defined in "libGLX" or "libEGL". GLVND is currently the only way contexts are defined in "libGLX" or "libEGL". GLVND is currently the only way
# to get OpenGL 3+ functionality via EGL in a manner portable across vendors. to get OpenGL 3+ functionality via EGL in a manner portable across vendors.
# Projects may use GLVND explicitly with target ``OpenGL::OpenGL`` and either Projects may use GLVND explicitly with target ``OpenGL::OpenGL`` and either
# ``OpenGL::GLX`` or ``OpenGL::EGL``. ``OpenGL::GLX`` or ``OpenGL::EGL``.
#
# Projects may use the ``OpenGL::GL`` target (or ``OPENGL_LIBRARIES`` variable) Projects may use the ``OpenGL::GL`` target (or ``OPENGL_LIBRARIES`` variable)
# to use legacy GL interfaces. These will use the legacy GL library located to use legacy GL interfaces. These will use the legacy GL library located
# by ``OPENGL_gl_LIBRARY``, if available. If ``OPENGL_gl_LIBRARY`` is empty or by ``OPENGL_gl_LIBRARY``, if available. If ``OPENGL_gl_LIBRARY`` is empty or
# not found and GLVND is available, the ``OpenGL::GL`` target will use GLVND not found and GLVND is available, the ``OpenGL::GL`` target will use GLVND
# ``OpenGL::OpenGL`` and ``OpenGL::GLX`` (and the ``OPENGL_LIBRARIES`` ``OpenGL::OpenGL`` and ``OpenGL::GLX`` (and the ``OPENGL_LIBRARIES``
# variable will use the corresponding libraries). Thus, for non-EGL-based variable will use the corresponding libraries). Thus, for non-EGL-based
# Linux targets, the ``OpenGL::GL`` target is most portable. Linux targets, the ``OpenGL::GL`` target is most portable.
#
# A ``OpenGL_GL_PREFERENCE`` variable may be set to specify the preferred way A ``OpenGL_GL_PREFERENCE`` variable may be set to specify the preferred way
# to provide legacy GL interfaces in case multiple choices are available. to provide legacy GL interfaces in case multiple choices are available.
# The value may be one of: The value may be one of:
#
# ``GLVND`` ``GLVND``
# If the GLVND OpenGL and GLX libraries are available, prefer them. If the GLVND OpenGL and GLX libraries are available, prefer them.
# This forces ``OPENGL_gl_LIBRARY`` to be empty. This forces ``OPENGL_gl_LIBRARY`` to be empty.
# This is the default if components were requested (since components This is the default if components were requested (since components
# correspond to GLVND libraries) or if policy :policy:`CMP0072` is correspond to GLVND libraries) or if policy :policy:`CMP0072` is
# set to ``NEW``. set to ``NEW``.
#
# ``LEGACY`` ``LEGACY``
# Prefer to use the legacy libGL library, if available. Prefer to use the legacy libGL library, if available.
# This is the default if no components were requested and This is the default if no components were requested and
# policy :policy:`CMP0072` is not set to ``NEW``. policy :policy:`CMP0072` is not set to ``NEW``.
#
# For EGL targets the client must rely on GLVND support on the user's system. For EGL targets the client must rely on GLVND support on the user's system.
# Linking should use the ``OpenGL::OpenGL OpenGL::EGL`` targets. Using GLES* Linking should use the ``OpenGL::OpenGL OpenGL::EGL`` targets. Using GLES*
# libraries is theoretically possible in place of ``OpenGL::OpenGL``, but this libraries is theoretically possible in place of ``OpenGL::OpenGL``, but this
# module does not currently support that; contributions welcome. module does not currently support that; contributions welcome.
#
# ``OPENGL_egl_LIBRARY`` and ``OPENGL_EGL_INCLUDE_DIRS`` are defined in the case of ``OPENGL_egl_LIBRARY`` and ``OPENGL_EGL_INCLUDE_DIRS`` are defined in the case of
# GLVND. For non-GLVND Linux and other systems these are left undefined. GLVND. For non-GLVND Linux and other systems these are left undefined.
#
# macOS-Specific macOS-Specific
# ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
#
# On OSX FindOpenGL defaults to using the framework version of OpenGL. People On OSX FindOpenGL defaults to using the framework version of OpenGL. People
# will have to change the cache values of OPENGL_glu_LIBRARY and will have to change the cache values of OPENGL_glu_LIBRARY and
# OPENGL_gl_LIBRARY to use OpenGL with X11 on OSX. OPENGL_gl_LIBRARY to use OpenGL with X11 on OSX.
#]=======================================================================]
set(_OpenGL_REQUIRED_VARS OPENGL_gl_LIBRARY) set(_OpenGL_REQUIRED_VARS OPENGL_gl_LIBRARY)