FindIntl

版本 3.2 中新增。

查找国际化支持,包括消息翻译函数,例如 gettext()。这些函数源自 GNU libintl 库,它是 GNU gettext 实用程序的一部分,但也可能由标准 C 库提供。

导入的目标

此模块提供以下 导入目标

Intl::Intl

在 3.20 版本中添加。

封装 Intl 使用要求的 Imported Target,如果找到 Intl 则可用。

结果变量

此模块定义了以下变量

Intl_FOUND

布尔值,指示是否找到 Intl。

Intl_INCLUDE_DIRS

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

Intl_LIBRARIES

链接 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_DIR

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

Intl_LIBRARY

Intl 库的路径(如果有)。

Intl_IS_BUILT_IN

在 3.20 版本中添加。

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

注意

在某些平台,例如带有 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 工具(msgmergemsgfmt 等)。