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

FindGSL: Update documentation

This commit is contained in:
Peter Kokot 2025-03-25 23:08:06 +01:00
parent 080c1a4e17
commit 0969be33ff
No known key found for this signature in database
GPG Key ID: A94800907AA79B36

View File

@ -7,7 +7,7 @@ FindGSL
.. versionadded:: 3.2
Find the native GNU Scientific Library (GSL) includes and libraries.
Finds the native GNU Scientific Library (GSL) includes and libraries.
The GNU Scientific Library (GSL) is a numerical library for C and C++
programmers. It is free software under the GNU General Public
@ -16,47 +16,71 @@ License.
Imported Targets
^^^^^^^^^^^^^^^^
If GSL is found, this module defines the following :prop_tgt:`IMPORTED`
targets::
If GSL is found, this module defines the following :ref:`Imported Targets`:
GSL::gsl - The main GSL library.
GSL::gslcblas - The CBLAS support library used by GSL.
``GSL::gsl``
The main GSL library that provides all usage requirements to use GSL.
``GSL::gslcblas``
The CBLAS support library used by GSL. It is linked also into the
``GSL::gsl`` target but provided separately for granularity.
Result Variables
^^^^^^^^^^^^^^^^
This module will set the following variables in your project::
This module will set the following variables in the project:
GSL_FOUND - True if GSL found on the local system
GSL_INCLUDE_DIRS - Location of GSL header files.
GSL_LIBRARIES - The GSL libraries.
GSL_VERSION - The version of the discovered GSL install.
``GSL_FOUND``
True if GSL is found on the local system.
``GSL_INCLUDE_DIRS``
Directory containing GSL header files.
``GSL_LIBRARIES``
The GSL libraries.
``GSL_VERSION``
The version of the discovered GSL installation.
Hints
^^^^^
Set ``GSL_ROOT_DIR`` to a directory that contains a GSL installation.
``GSL_ROOT_DIR``
Set this variable to a directory that contains a GSL installation.
This script expects to find libraries at ``$GSL_ROOT_DIR/lib`` and the GSL
headers at ``$GSL_ROOT_DIR/include/gsl``. The library directory may
optionally provide Release and Debug folders. If available, the libraries
named ``gsld``, ``gslblasd`` or ``cblasd`` are recognized as debug libraries.
For Unix-like systems, this script will use ``$GSL_ROOT_DIR/bin/gsl-config``
(if found) to aid in the discovery of GSL.
If this variable is not set, this module will use pkg-config and default paths
to find GSL. If this variable is provided, then this module expects to find
libraries at ``${GSL_ROOT_DIR}/lib`` and the GSL headers at
``${GSL_ROOT_DIR}/include/gsl``.
The library directory may optionally provide Release and Debug folders. If
available, the libraries named ``gsld``, ``gslblasd`` or ``cblasd`` are
recognized as debug libraries. For Unix-like systems, this module will also
use ``gsl-config`` (if found) to aid in the discovery of GSL.
Cache Variables
^^^^^^^^^^^^^^^
This module may set the following variables depending on platform and type
of GSL installation discovered. These variables may optionally be set to
help this module find the correct files::
help this module find the correct files:
GSL_CBLAS_LIBRARY - Location of the GSL CBLAS library.
GSL_CBLAS_LIBRARY_DEBUG - Location of the debug GSL CBLAS library (if any).
GSL_CONFIG_EXECUTABLE - Location of the ``gsl-config`` script (if any).
GSL_LIBRARY - Location of the GSL library.
GSL_LIBRARY_DEBUG - Location of the debug GSL library (if any).
``GSL_CBLAS_LIBRARY``
Location of the GSL CBLAS library.
``GSL_CBLAS_LIBRARY_DEBUG``
Location of the debug GSL CBLAS library (if any).
``GSL_CONFIG_EXECUTABLE``
Location of the ``gsl-config`` script (if any).
``GSL_LIBRARY``
Location of the GSL library.
``GSL_LIBRARY_DEBUG``
Location of the debug GSL library (if any).
Examples
^^^^^^^^
Finding GSL and linking it to a project target:
.. code-block:: cmake
find_package(GSL)
target_link_libraries(project_target PRIVATE GSL::gsl)
#]=======================================================================]
cmake_policy(PUSH)