1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-05-08 22:37:04 +08:00

FindGLEW: Update documentation

- Synced module documentation with other similar find modules.
- Added examples section.
- Moved imported targets section to the top.
- Added note about config mode.
- Added CMake versions, when some variables got introduced as many were
  added after the initial module.
This commit is contained in:
Peter Kokot 2025-04-14 21:37:20 +02:00
parent ed7f1c54eb
commit 714966fe42
No known key found for this signature in database
GPG Key ID: A94800907AA79B36

View File

@ -5,61 +5,128 @@
FindGLEW
--------
Find the OpenGL Extension Wrangler Library (GLEW)
Finds the OpenGL Extension Wrangler Library (GLEW).
Input Variables
^^^^^^^^^^^^^^^
GLEW is a cross-platform C/C++ library that helps manage OpenGL extensions by
providing efficient run-time mechanisms to query and load OpenGL functionality
beyond the core specification.
The following variables may be set to influence this module's behavior:
.. versionadded:: 3.7
Debug and Release library variants are found separately.
``GLEW_USE_STATIC_LIBS``
to find and create :prop_tgt:`IMPORTED` target for static linkage.
``GLEW_VERBOSE``
to output a detailed log of this module.
.. versionadded:: 3.15
If GLEW is built using its CMake-based build system, it provides a CMake
package configuration file (``GLEWConfig.cmake``). This module now takes that
into account and first attempts to find GLEW in *config mode*. If the
configuration file is not available, it falls back to *module mode* and
searches standard locations.
Imported Targets
^^^^^^^^^^^^^^^^
.. versionadded:: 3.1
This module provides the following :ref:`Imported Targets`:
This module defines the following :ref:`Imported Targets <Imported Targets>`:
``GLEW::GLEW``
.. versionadded:: 3.1
The main imported target encapsulating the GLEW usage requirements, available
if GLEW is found. It maps usage requirements of either ``GLEW::glew`` or
``GLEW::glew_s`` target depending on their availability.
``GLEW::glew``
The GLEW shared library.
.. versionadded:: 3.15
Target encapsulating the usage requirements for a shared GLEW library. This
target is available if GLEW is found and static libraries aren't requested via
the ``GLEW_USE_STATIC_LIBS`` hint variable (see below).
``GLEW::glew_s``
The GLEW static library, if ``GLEW_USE_STATIC_LIBS`` is set to ``TRUE``.
``GLEW::GLEW``
Duplicates either ``GLEW::glew`` or ``GLEW::glew_s`` based on availability.
.. versionadded:: 3.15
Target encapsulating the usage requirements for a static GLEW library. This
target is available if GLEW is found and the ``GLEW_USE_STATIC_LIBS`` hint
variable is set to boolean true.
Result Variables
^^^^^^^^^^^^^^^^
This module defines the following variables:
``GLEW_INCLUDE_DIRS``
include directories for GLEW
``GLEW_LIBRARIES``
libraries to link against GLEW
``GLEW_SHARED_LIBRARIES``
libraries to link against shared GLEW
``GLEW_STATIC_LIBRARIES``
libraries to link against static GLEW
``GLEW_FOUND``
true if GLEW has been found and can be used
Boolean indicating whether GLEW is found.
``GLEW_VERSION``
GLEW version
.. versionadded:: 3.15
The version of GLEW found.
``GLEW_VERSION_MAJOR``
GLEW major version
.. versionadded:: 3.15
The major version of GLEW found.
``GLEW_VERSION_MINOR``
GLEW minor version
.. versionadded:: 3.15
The minor version of GLEW found.
``GLEW_VERSION_MICRO``
GLEW micro version
.. versionadded:: 3.15
.. versionadded:: 3.7
Debug and Release variants are found separately.
The micro version of GLEW found.
``GLEW_INCLUDE_DIRS``
Include directories needed to use GLEW library.
``GLEW_LIBRARIES``
Libraries needed to link against to use GLEW library (shared or static
depending on configuration).
``GLEW_SHARED_LIBRARIES``
.. versionadded:: 3.15
Libraries needed to link against to use shared GLEW library.
``GLEW_STATIC_LIBRARIES``
.. versionadded:: 3.15
Libraries needed to link against to use static GLEW library.
Hints
^^^^^
This module accepts the following variables before calling
``find_package(GLEW)`` to influence this module's behavior:
``GLEW_USE_STATIC_LIBS``
.. versionadded:: 3.15
Set to boolean true to find static GLEW library and create the
``GLEW::glew_s`` imported target for static linkage.
``GLEW_VERBOSE``
.. versionadded:: 3.15
Set to boolean true to output a detailed log of this module. Can be used, for
example, for debugging.
Examples
^^^^^^^^
Finding GLEW and linking it to a project target:
.. code-block:: cmake
find_package(GLEW)
target_link_libraries(project_target PRIVATE GLEW::GLEW)
Using the static GLEW library, if found:
.. code-block:: cmake
set(GLEW_USE_STATIC_LIBS TRUE)
find_package(GLEW)
target_link_libraries(project_target PRIVATE GLEW::GLEW)
#]=======================================================================]
include(FindPackageHandleStandardArgs)