FindSubversion — CMake 3.5.2 Documentation

# FindSubversion

Extract information from a subversion working copy

The module defines the following variables:

    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 compatiblity reasons

The minimum required version of Subversion can be specified using the standard syntax, e.g. find_package(Subversion 1.4)

If the command line client executable is found two macros are defined:

    Subversion_WC_INFO(<dir> <var-prefix>)
    Subversion_WC_LOG(<dir> <var-prefix>)

Subversion_WC_INFO extracts information of a subversion working copy at a given location. This macro defines the following variables:

    <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 retrieves the log message of the base revision of a subversion working copy at a given location. This macro defines the variable:

    <var-prefix>_LAST_CHANGED_LOG - last log of base revision

Example usage:

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