FindASPELL

查找 GNU Aspell 拼写检查器库。

组件

此模块支持以下组件

ASPELL

在 4.1 版本中新增。

查找 Aspell 库及其包含路径。

Executable(可执行文件)

在 4.1 版本中新增。

查找 Aspell 命令行交互式拼写检查器可执行文件。

组件可以使用标准 CMake 语法指定

find_package(ASPELL [COMPONENTS <components>...])

如果未指定 COMPONENTS,则模块默认搜索 ASPELLExecutable 组件。

导入的目标

CMAKE_ROLEPROJECT 时,此模块提供以下导入目标

ASPELL::ASPELL

在 4.1 版本中新增。

封装 Aspell 库使用要求的 If target。仅当找到 ASPELL 组件时才可用。

ASPELL::Executable

在 4.1 版本中新增。

封装 Aspell 命令行拼写检查器可执行文件的 If target。仅当找到 Executable 组件时才可用。

结果变量

此模块定义了以下变量

ASPELL_FOUND

布尔值,指示是否找到了请求的 Aspell 组件。

ASPELL_VERSION

在 4.1 版本中新增。

如果找到 Aspell,则为其版本字符串。仅当找到 Executable 组件时才能确定。如果版本未确定,则不设置版本值。

ASPELL_INCLUDE_DIRS

在 4.1 版本中新增。

使用 Aspell 所需的包含目录。当找到 ASPELL 组件时可用。

Aspell 库还可以通过 pspell.h 头文件提供与 Pspell 兼容的旧版接口。如果找到此类接口,也会将其添加到包含目录列表中。

ASPELL_LIBRARIES

链接到 Aspell 所需的库。当找到 ASPELL 组件时可用。

版本 4.1 中更改: 此变量现在作为常规结果变量而不是缓存变量进行设置。

缓存变量

以下缓存变量也可以设置

ASPELL_INCLUDE_DIR

使用 Executable 组件时,包含 aspell.h 头文件的目录。

ASPELL_LIBRARY

在 4.1 版本中新增。

使用 ASPELL 组件时,Aspell 库的路径。

ASPELL_EXECUTABLE

使用 Executable 组件时,aspell 命令行拼写检查器程序的路径。

示例

使用 CMake 4.1 或更高版本查找 Aspell 库并将其链接到项目目标

find_package(ASPELL COMPONENTS ASPELL)
target_link_libraries(project_target PRIVATE ASPELL::ASPELL)

在编写支持 CMake 4.0 及更早版本的向后兼容代码时,可以直接在项目中定义本地导入目标

find_package(ASPELL COMPONENTS ASPELL)
if(ASPELL_FOUND AND NOT TARGET ASPELL::ASPELL)
  add_library(ASPELL::ASPELL INTERFACE IMPORTED)
  set_target_properties(
    ASPELL::ASPELL
    PROPERTIES
      INTERFACE_LINK_LIBRARIES "${ASPELL_LIBRARIES}"
      INTERFACE_INCLUDE_DIRECTORIES "${ASPELL_INCLUDE_DIR}"
  )
endif()
target_link_libraries(project_target PRIVATE ASPELL::ASPELL)

示例:如何在项目中执行 aspell 命令行拼写检查器

find_package(ASPELL COMPONENTS Executable)
execute_process(COMMAND ${ASPELL_EXECUTABLE} --help)