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_LIBRARY
和 Intl_INCLUDE_DIR
在这种情况下将为空。
示例¶
查找 Intl 支持并链接导入的 target 以在项目中使用
find_package(Intl)
target_link_libraries(app PRIVATE Intl::Intl)
另请参阅¶
FindGettext
模块用于查找和使用 GNU gettext 工具(msgmerge
、msgfmt
等)。