FindGSL¶
版本 3.2 中新增。
查找原生的 GNU Scientific Library (GSL) 的包含文件和库。
find_package(GSL [<version>] [...])
GNU Scientific Library (GSL) 是一个面向 C 和 C++ 程序员的数值库。它是 GNU 通用公共许可证下的自由软件。
导入的目标¶
此模块提供以下 导入目标
GSL::gsl封装了主要的 GSL 库及其所有使用要求的目标。仅在找到 GSL 时可用。
GSL::gslcblas封装了 GSL 使用的 CBLAS 支持库的使用要求的目标。如果找到 GSL,则此目标可用。它也链接到
GSL::gsl目标,但为了更精细的控制,单独提供。
结果变量¶
此模块定义了以下变量
GSL_FOUND一个布尔值,指示本地系统是否找到了 (所请求版本的) GSL。
GSL_VERSION已发现的 GSL 安装的版本。
GSL_INCLUDE_DIRS包含 GSL 头文件的目录。
GSL_LIBRARIESGSL 库。
缓存变量¶
此模块可能会根据平台和发现的 GSL 安装类型设置以下变量。这些变量可以被可选地设置,以帮助此模块找到正确的文件。
GSL_CBLAS_LIBRARYGSL CBLAS 库的位置。
GSL_CBLAS_LIBRARY_DEBUG调试版 GSL CBLAS 库的位置 (如果存在)。
GSL_CONFIG_EXECUTABLEgsl-config脚本的位置 (如果存在)。GSL_LIBRARYGSL 库的位置。
GSL_LIBRARY_DEBUG调试版 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 并将其链接到项目目标
find_package(GSL)
target_link_libraries(project_target PRIVATE GSL::gsl)