<div dir="ltr">We like to include the SVN revision number in our build artifacts to help keep track of what version people are working with.  I found the following code on the mailing lists which appears to work fine:  <div>
<br></div><div><div style="font-family:'Bitstream Vera Sans Mono';font-size:11pt;color:rgb(0,0,0)">
<pre># Get the SVN revision number of an svn command line client is
# available.  This version will run at build time rather than only
# at configuration generation time.
FIND_PROGRAM(SVN_EXECUTABLE svn
  DOC "subversion command line client")

# only do this if we have an svn client.
if (SVN_EXECUTABLE)
    MACRO(Subversion_GET_REVISION dir variable)
      EXECUTE_PROCESS(COMMAND ${SVN_EXECUTABLE} info ${dir}
        OUTPUT_VARIABLE ${variable}
        OUTPUT_STRIP_TRAILING_WHITESPACE)
      STRING(REGEX REPLACE "^(.*\n)?Revision: ([^\n]+).*"
        "\\2" ${variable} "${${variable}}")
    ENDMACRO(Subversion_GET_REVISION)

    Subversion_GET_REVISION(${CMAKE_SOURCE_DIR} ORX_BLD_LVL)
endif ()

message(STATUS "SVN Revision Number is ${ORX_BLD_LVL}")
</pre><pre><br></pre><pre>Unfortunately, the first person not in the core team who building was running a Spanish language version of SVN, so the ORX_BLD_LEVEL variable ended up with the entire output of the svn info command because it could not find the string REVISION.  This was not a good thing!</pre>
<pre><br></pre><pre>Is there a better way to obtain the SVN revision number that does not suffer from this sort of problem?</pre><pre><br></pre><pre>Rick</pre></div></div></div>