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