FindHg

查找 Mercurial 命令行客户端可执行文件(hg),并提供一个用于从 Mercurial 工作副本中提取信息的命令。

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

结果变量

此模块定义了以下变量

Hg_FOUND

3.3 版本中新增。

布尔值,指示是否找到了(所请求版本的)Mercurial 客户端。

Hg_VERSION

版本 4.2 中添加。

找到的 Mercurial 的版本。

缓存变量

以下缓存变量也可以设置

HG_EXECUTABLE

Mercurial 命令行客户端(hg)的绝对路径。

命令

当找到 Mercurial 客户端(hg)时,此模块提供以下命令:

Hg_WC_INFO

版本 3.1 中新增。

提取 Mercurial 工作副本的信息。

Hg_WC_INFO(<dir> <var-prefix>)

如果对位于给定位置 <dir> 的工作副本运行 Mercurial 客户端成功,则此命令会定义以下变量;否则会生成 SEND_ERROR 消息。

<var-prefix>_WC_CHANGESET

当前变更集。

<var-prefix>_WC_REVISION

当前修订版本。

已弃用变量

以下变量提供用于向后兼容性

HG_FOUND

4.2 版本已弃用: 使用 Hg_FOUND,它具有相同的值。

布尔值,指示是否找到了(所请求版本的)Mercurial 客户端。

HG_VERSION_STRING

4.2 版本已弃用: 使用 Hg_VERSION,它具有相同的值。

找到的 Mercurial 的版本。

示例

查找 Mercurial 客户端并检索当前项目工作副本的信息。

find_package(Hg)
if(Hg_FOUND)
  Hg_WC_INFO(${PROJECT_SOURCE_DIR} Project)
  message("Current revision is ${Project_WC_REVISION}")
  message("Current changeset is ${Project_WC_CHANGESET}")
endif()