FindSubversion¶
Finds a Subversion command-line client executable (svn
) and provides
commands for extracting information from a Subversion working copy:
find_package(Subversion [<version>] [...])
Result Variables¶
This module defines the following variables:
Subversion_FOUND
Boolean indicating whether (the requested version of) Subversion command-line client is found. For backward compatibility, the
SUBVERSION_FOUND
variable is also set to the same value.Subversion_VERSION_SVN
Version of the
svn
command-line client found.
Cache Variables¶
The following cache variables may also be set:
Subversion_SVN_EXECUTABLE
Path to the
svn
command-line client.
Commands¶
This module provides the following commands if the Subversion command-line client is found:
- Subversion_WC_INFO¶
Extracts information from a Subversion working copy located at a specified directory:
Subversion_WC_INFO(<dir> <var-prefix> [IGNORE_SVN_FAILURE])
This command defines the following variables if running Subversion's
info
subcommand on<dir>
succeeds; otherwise aSEND_ERROR
message is generated:<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 the command
svn info <dir>
The options are:
IGNORE_SVN_FAILURE
Added in version 3.13.
When specified, errors from Subversion operation will not trigger a
SEND_ERROR
message. In case of an error, the<var-prefix>_*
variables remain undefined.
- Subversion_WC_LOG¶
Retrieves the log message of the base revision of a Subversion working copy at a given location:
Subversion_WC_LOG(<dir> <var-prefix>)
This command defines the following variable if running Subversion's
log
subcommand on<dir>
succeeds; otherwise aSEND_ERROR
message is generated:<var-prefix>_LAST_CHANGED_LOG
Last log of the base revision of a Subversion working copy located at
<dir>
.
Examples¶
Examples: Finding Subversion¶
Finding Subversion:
find_package(Subversion)
Or, finding Subversion and specifying a minimum required version:
find_package(Subversion 1.4)
Or, finding Subversion and making it required (if not found, processing stops with an error message):
find_package(Subversion REQUIRED)
Example: Using Subversion¶
Finding Subversion and retrieving information about the current project's working copy:
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()