FindIconv

3.11 版本新增。

在系统上查找 iconv() POSIX.1 函数

find_package(Iconv [<version>] [...])

Iconv 函数可能由标准 C 库提供,或者以附加库的形式在外部提供。

导入的目标

此模块提供以下 导入目标

Iconv::Iconv

封装 iconv 使用需求的 Target,仅在找到 iconv 时可用。

结果变量

此模块定义了以下变量

Iconv_FOUND

布尔值,指示是否找到(所请求版本)的 iconv 支持。

Iconv_VERSION

3.21 版本新增。

找到的 iconv 的版本(x.y)。

注意

某些 libiconv 实现不会将版本嵌入其头文件中。在这种情况下,变量 Iconv_VERSION* 将为空。

Iconv_VERSION_MAJOR

3.21 版本新增。

iconv 的主版本号。

Iconv_VERSION_MINOR

3.21 版本新增。

iconv 的次版本号。

Iconv_INCLUDE_DIRS

包含 iconv 头文件的头文件目录。

Iconv_LIBRARIES

需要链接的 iconv 库。

缓存变量

以下缓存变量也可以设置

Iconv_IS_BUILT_IN

一个布尔变量,指示 iconv 支持是源自 C 标准库还是不是。即使 C 库提供了 iconv(),外部 libiconv 实现的存在也可能导致此值为 false。

Iconv_INCLUDE_DIR

包含 iconv 头文件的目录。

Iconv_LIBRARY

iconv 库(如果未隐式在 C 库中给出)。

注意

在 POSIX 平台上,iconv 可能作为 C 库的一部分,并且缓存变量 Iconv_INCLUDE_DIRIconv_LIBRARY 可能为空。

示例

查找 iconv 并将其链接到项目 Target

find_package(Iconv)
target_link_libraries(project_target PRIVATE Iconv::Iconv)