FindSubversion¶
从 Subversion 工作副本中提取信息
该模块定义了以下变量
Subversion_SVN_EXECUTABLE - path to svn command line client
Subversion_VERSION_SVN - version of svn command line client
Subversion_FOUND - true if the command line client was found
SUBVERSION_FOUND - same as Subversion_FOUND, set for compatibility reasons
可以使用标准语法指定所需的 Subversion 最低版本,例如 find_package(Subversion 1.4)
。
如果找到了命令行客户端可执行文件,则定义两个宏
Subversion_WC_INFO(<dir> <var-prefix> [IGNORE_SVN_FAILURE])
Subversion_WC_LOG(<dir> <var-prefix>)
Subversion_WC_INFO
提取指定位置中 Subversion 工作副本的信息。如果对 <dir>
运行 Subversion 的 info
命令成功,则此宏会定义以下变量;否则会生成 SEND_ERROR
消息。
自 3.13 版添加:可以通过提供 IGNORE_SVN_FAILURE
选项来忽略该错误,该选项会导致这些变量保持未定义状态。
<var-prefix>_WC_URL - url of the repository (at <dir>)
<var-prefix>_WC_ROOT - root url of the repository
<var-prefix>_WC_REVISION - current revision
<var-prefix>_WC_LAST_CHANGED_AUTHOR - author of last commit
<var-prefix>_WC_LAST_CHANGED_DATE - date of last commit
<var-prefix>_WC_LAST_CHANGED_REV - revision of last commit
<var-prefix>_WC_INFO - output of command `svn info <dir>'
Subversion_WC_LOG
检索给定位置中 Subversion 工作副本的基础版本的日志消息。此宏会定义变量
<var-prefix>_LAST_CHANGED_LOG - last log of base revision
示例用法
find_package(Subversion)
if(SUBVERSION_FOUND)
Subversion_WC_INFO(${PROJECT_SOURCE_DIR} Project)
message("Current revision is ${Project_WC_REVISION}")
Subversion_WC_LOG(${PROJECT_SOURCE_DIR} Project)
message("Last changed log is ${Project_LAST_CHANGED_LOG}")
endif()