FindGSL
Added in version 3.2.
Finds the native GNU Scientific Library (GSL) includes and libraries:
find_package(GSL [<version>] [...])
The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License.
Imported Targets
This module provides the following Imported Targets:
-
GSL::gsl -
Target encapsulating the main GSL library and all usage requirements, available only if GSL is found.
-
GSL::gslcblas -
Target encapsulating the usage requirements of the CBLAS support library used by GSL. This target is available if GSL is found. It is linked also into the
GSL::gsltarget but provided separately for granularity.
Result Variables
This module defines the following variables:
-
GSL_FOUND -
Boolean indicating whether (the requested version of) GSL was found on the local system.
-
GSL_VERSION -
The version of the discovered GSL installation.
-
GSL_INCLUDE_DIRS -
Directory containing GSL header files.
-
GSL_LIBRARIES -
The GSL libraries.
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:
-
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-configscript (if any). -
GSL_LIBRARY -
Location of the GSL library.
-
GSL_LIBRARY_DEBUG -
Location of the debug GSL library (if any).
Hints
This module accepts the following variables:
-
GSL_ROOT_DIR -
Set this variable to a directory that contains a GSL installation.
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}/liband 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,gslblasdorcblasdare recognized as debug libraries. For Unix-like systems, this module will also usegsl-config(if found) to aid in the discovery of GSL.
Examples
Finding GSL and linking it to a project target:
find_package(GSL) target_link_libraries(project_target PRIVATE GSL::gsl)
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/module/FindGSL.html