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()