FindIntl¶
版本 3.2 中新增。
查找国际化支持,包括诸如 gettext() 等消息翻译函数。
find_package(Intl [<version>] [...])
这些函数源自 GNU libintl 库,该库是 GNU gettext 工具集的一部分,但也可由标准 C 库提供。
导入的目标¶
此模块提供以下 导入目标
Intl::Intl在 3.20 版本中添加。
封装 Intl 使用需求的 Target,在找到 Intl 后可用。
结果变量¶
此模块定义了以下变量
Intl_FOUND布尔值,指示是否找到了 (请求版本的) Intl。
Intl_VERSION3.21 版本新增。
找到的 Intl 实现或库的版本,格式为
x.y.z。注意
某些 Intl 实现不会将版本嵌入其头文件中。在这种情况下,变量
Intl_VERSION*将为空。Intl_VERSION_MAJOR3.21 版本新增。
找到的 Intl 的主版本号。
Intl_VERSION_MINOR3.21 版本新增。
找到的 Intl 的次版本号。
Intl_VERSION_PATCH3.21 版本新增。
找到的 Intl 的补丁版本号。
Intl_INCLUDE_DIRS包含使用 Intl 所需的头文件的目录。
Intl_LIBRARIES链接使用 Intl 所需的库。
缓存变量¶
以下缓存变量也可以设置
Intl_IS_BUILT_IN在 3.20 版本中添加。
布尔值,指示找到的 Intl 功能是由标准 C 库提供,还是由单独的
libintl库提供。Intl_INCLUDE_DIR包含
libintl.h头文件的目录。Intl_LIBRARYIntl 库的路径 (如果存在)。
注意
在某些平台,例如使用 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等)。