FindIconv¶
3.11 版本新增。
在系统上查找 iconv() POSIX.1 函数
find_package(Iconv [<version>] [...])
Iconv 函数可能由标准 C 库提供,或者以附加库的形式在外部提供。
导入的目标¶
此模块提供以下 导入目标
Iconv::Iconv封装 iconv 使用需求的 Target,仅在找到 iconv 时可用。
结果变量¶
此模块定义了以下变量
Iconv_FOUND布尔值,指示是否找到(所请求版本)的 iconv 支持。
Iconv_VERSION3.21 版本新增。
找到的 iconv 的版本(x.y)。
注意
某些 libiconv 实现不会将版本嵌入其头文件中。在这种情况下,变量
Iconv_VERSION*将为空。Iconv_VERSION_MAJOR3.21 版本新增。
iconv 的主版本号。
Iconv_VERSION_MINOR3.21 版本新增。
iconv 的次版本号。
Iconv_INCLUDE_DIRS包含 iconv 头文件的头文件目录。
Iconv_LIBRARIES需要链接的 iconv 库。
缓存变量¶
以下缓存变量也可以设置
Iconv_IS_BUILT_IN一个布尔变量,指示 iconv 支持是源自 C 标准库还是不是。即使 C 库提供了
iconv(),外部libiconv实现的存在也可能导致此值为 false。Iconv_INCLUDE_DIR包含 iconv 头文件的目录。
Iconv_LIBRARYiconv 库(如果未隐式在 C 库中给出)。
注意
在 POSIX 平台上,iconv 可能作为 C 库的一部分,并且缓存变量 Iconv_INCLUDE_DIR 和 Iconv_LIBRARY 可能为空。
示例¶
查找 iconv 并将其链接到项目 Target
find_package(Iconv)
target_link_libraries(project_target PRIVATE Iconv::Iconv)