FindASPELL

查找 GNU Aspell 拼写检查器库

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

组件

此模块支持可选组件,可以使用 find_package() 命令指定这些组件。

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

支持的组件包括

ASPELL

在 4.1 版本中新增。

查找 Aspell 库及其包含路径。

Executable

在 4.1 版本中新增。

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

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

导入的目标

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

ASPELL::ASPELL

在 4.1 版本中新增。

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

ASPELL::Executable

在 4.1 版本中新增。

封装 Aspell 命令行拼写检查器可执行文件的目标。仅当找到 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)