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 文件夹。如果可用,名称为 - gsld、- gslblasd或- cblasd的库被识别为调试库。对于类 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)
