FindIntl

版本 3.2 中新增。

查找国际化支持,包括诸如 gettext() 等消息翻译函数。

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

这些函数源自 GNU libintl 库,该库是 GNU gettext 工具集的一部分,但也可由标准 C 库提供。

导入的目标

此模块提供以下 导入目标

Intl::Intl

在 3.20 版本中添加。

封装 Intl 使用需求的 Target,在找到 Intl 后可用。

结果变量

此模块定义了以下变量

Intl_FOUND

布尔值,指示是否找到了 (请求版本的) Intl。

Intl_VERSION

3.21 版本新增。

找到的 Intl 实现或库的版本,格式为 x.y.z

注意

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

Intl_VERSION_MAJOR

3.21 版本新增。

找到的 Intl 的主版本号。

Intl_VERSION_MINOR

3.21 版本新增。

找到的 Intl 的次版本号。

Intl_VERSION_PATCH

3.21 版本新增。

找到的 Intl 的补丁版本号。

Intl_INCLUDE_DIRS

包含使用 Intl 所需的头文件的目录。

Intl_LIBRARIES

链接使用 Intl 所需的库。

缓存变量

以下缓存变量也可以设置

Intl_IS_BUILT_IN

在 3.20 版本中添加。

布尔值,指示找到的 Intl 功能是由标准 C 库提供,还是由单独的 libintl 库提供。

Intl_INCLUDE_DIR

包含 libintl.h 头文件的目录。

Intl_LIBRARY

Intl 库的路径 (如果存在)。

注意

在某些平台,例如使用 GNU libc 的 Linux 上,gettext 函数存在于 C 标准库中,不需要 libintl。在这种情况下,Intl_LIBRARYIntl_INCLUDE_DIR 将为空。

示例

查找 Intl 支持并链接导入的 Target 以便在项目中使用的说明

find_package(Intl)
target_link_libraries(app PRIVATE Intl::Intl)

另请参阅

  • 使用 FindGettext 模块来查找和使用 GNU gettext 工具 (msgmerge, msgfmt 等)。