FindASPELL¶
查找 GNU Aspell 拼写检查器库。
组件¶
此模块支持以下组件
- ASPELL
- 在 4.1 版本中新增。 - 查找 Aspell 库及其包含路径。 
- Executable(可执行文件)
- 在 4.1 版本中新增。 - 查找 Aspell 命令行交互式拼写检查器可执行文件。 
组件可以使用标准 CMake 语法指定
find_package(ASPELL [COMPONENTS <components>...])
如果未指定 COMPONENTS,则模块默认搜索 ASPELL 和 Executable 组件。
导入的目标¶
当 CMAKE_ROLE 为 PROJECT 时,此模块提供以下导入目标
- 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)
