查找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 在给定位置提取颠覆工作副本的信息。如果在 <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 检索给定位置的颠覆工作副本的基本修订的日志消息。这个宏定义变量:
<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()