FindGSL

版本 3.2 中新增。

查找原生的 GNU Scientific Library (GSL) 包含文件和库。

GNU Scientific Library (GSL) 是一个面向 C 和 C++ 程序员的数值库。它是根据 GNU General Public License 发布的自由软件。

导入的目标

如果找到了 GSL,此模块将定义以下 导入的目标

GSL::gsl

提供使用 GSL 的所有使用需求的 GSL 主库。

GSL::gslcblas

GSL 使用的 CBLAS 支持库。它也链接到 GSL::gsl 目标,但为了粒度而单独提供。

结果变量

此模块将在项目中设置以下变量

GSL_FOUND

如果本地系统上找到了 GSL,则为 True。

GSL_INCLUDE_DIRS

包含 GSL 头文件的目录。

GSL_LIBRARIES

GSL 库。

GSL_VERSION

已发现的 GSL 安装的版本。

提示

GSL_ROOT_DIR

将此变量设置为包含 GSL 安装的目录。

如果未设置此变量,则此模块将使用 pkg-config 和默认路径来查找 GSL。如果提供了此变量,则此模块期望在 ${GSL_ROOT_DIR}/lib 找到库,并在 ${GSL_ROOT_DIR}/include/gsl 找到 GSL 头文件。

库目录可选择提供 Release 和 Debug 文件夹。如果可用,名称为 gsldgslblasdcblasd 的库被识别为调试库。对于类 Unix 系统,此模块还将使用 gsl-config(如果找到)来帮助发现 GSL。

缓存变量

此模块可能会根据平台和发现的 GSL 安装类型设置以下变量。可以有选择地设置这些变量来帮助此模块找到正确的文件

GSL_CBLAS_LIBRARY

GSL CBLAS 库的位置。

GSL_CBLAS_LIBRARY_DEBUG

调试 GSL CBLAS 库的位置(如果存在)。

GSL_CONFIG_EXECUTABLE

gsl-config 脚本的位置(如果存在)。

GSL_LIBRARY

GSL 库的位置。

GSL_LIBRARY_DEBUG

调试 GSL 库的位置(如果存在)。

示例

查找 GSL 并将其链接到项目目标

find_package(GSL)
target_link_libraries(project_target PRIVATE GSL::gsl)