FindSubversion¶
查找 Subversion 命令行客户端可执行文件(svn),并提供从 Subversion 工作副本中提取信息的命令。
find_package(Subversion [<version>] [...])
结果变量¶
此模块定义了以下变量
Subversion_FOUND布尔值,指示是否找到(所请求版本的)Subversion 命令行客户端。
Subversion_VERSION版本 4.2 中添加。
找到的
svn命令行客户端的版本。
缓存变量¶
以下缓存变量也可以设置
Subversion_SVN_EXECUTABLE指向
svn命令行客户端的路径。
命令¶
如果找到 Subversion 命令行客户端,此模块将提供以下命令:
- Subversion_WC_INFO¶
从指定目录下的 Subversion 工作副本中提取信息。
Subversion_WC_INFO(<dir> <var-prefix> [IGNORE_SVN_FAILURE])
如果对
<dir>运行 Subversion 的info子命令成功,则此命令将定义以下变量;否则将生成SEND_ERROR消息。<var-prefix>_WC_URL存储库的 URL(在
<dir>)。<var-prefix>_WC_ROOT存储库的根 URL。
<var-prefix>_WC_REVISION当前修订版本。
<var-prefix>_WC_LAST_CHANGED_AUTHOR最后一次提交的作者。
<var-prefix>_WC_LAST_CHANGED_DATE最后一次提交的日期。
<var-prefix>_WC_LAST_CHANGED_REV最后一次提交的修订版本。
<var-prefix>_WC_INFO命令
svn info <dir>的输出。
选项包括
IGNORE_SVN_FAILURE3.13 版本新增。
指定此选项后,Subversion 操作的错误将不会触发
SEND_ERROR消息。如果发生错误,<var-prefix>_*变量将保持未定义状态。
- Subversion_WC_LOG¶
检索给定位置的 Subversion 工作副本的基线修订版本的日志消息。
Subversion_WC_LOG(<dir> <var-prefix>)
如果对
<dir>运行 Subversion 的log子命令成功,则此命令将定义以下变量;否则将生成SEND_ERROR消息。<var-prefix>_LAST_CHANGED_LOG位于
<dir>的 Subversion 工作副本的基线修订版本的最后一条日志。
已弃用变量¶
以下变量提供用于向后兼容性
SUBVERSION_FOUND已弃用,自版本 4.2 起: 使用
Subversion_FOUND,其值相同。布尔值,指示是否找到(所请求版本的)Subversion 命令行客户端。
Subversion_VERSION_SVN已弃用,自版本 4.2 起: 使用
Subversion_VERSION。找到的
svn命令行客户端的版本。
示例¶
示例:查找 Subversion¶
查找 Subversion
find_package(Subversion)
或者,查找 Subversion 并指定最低要求的版本
find_package(Subversion 1.4)
或者,查找 Subversion 并将其设为必需(如果未找到,则处理会因错误消息而停止)
find_package(Subversion REQUIRED)
示例:使用 Subversion¶
查找 Subversion 并检索有关当前项目工作副本的信息
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()