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