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)