summaryrefslogtreecommitdiff
path: root/cmake/modules/VersionFromVCS.cmake
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2010-09-08 20:49:40 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2010-09-08 20:49:40 +0000
commit3df9c6bbae8f7906c0efd740f4fbeb7707ea84b1 (patch)
treec30b0cb48f81f3f9e46f4ecc89322c406058cada /cmake/modules/VersionFromVCS.cmake
parent8be4e032bd178d825bf28a7eeb39e5390cc7a507 (diff)
downloadllvm-3df9c6bbae8f7906c0efd740f4fbeb7707ea84b1.tar.gz
llvm-3df9c6bbae8f7906c0efd740f4fbeb7707ea84b1.tar.bz2
llvm-3df9c6bbae8f7906c0efd740f4fbeb7707ea84b1.tar.xz
CMake: Use the svn revision information from git-svn if available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113405 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake/modules/VersionFromVCS.cmake')
-rw-r--r--cmake/modules/VersionFromVCS.cmake24
1 files changed, 17 insertions, 7 deletions
diff --git a/cmake/modules/VersionFromVCS.cmake b/cmake/modules/VersionFromVCS.cmake
index 1016df2259..55142c648a 100644
--- a/cmake/modules/VersionFromVCS.cmake
+++ b/cmake/modules/VersionFromVCS.cmake
@@ -10,7 +10,7 @@ function(add_version_info_from_vcs VERS)
if( Subversion_FOUND )
subversion_wc_info( ${CMAKE_CURRENT_SOURCE_DIR} Project )
if( Project_WC_REVISION )
- set(result "${result}-r${Project_WC_REVISION}")
+ set(result "${result}-r${Project_WC_REVISION}")
endif()
endif()
elseif( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git )
@@ -19,13 +19,23 @@ function(add_version_info_from_vcs VERS)
find_program(git_executable NAMES git git.exe git.cmd)
if( git_executable )
execute_process(COMMAND ${git_executable} show-ref HEAD
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- TIMEOUT 5
- RESULT_VARIABLE git_result
- OUTPUT_VARIABLE git_output)
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ TIMEOUT 5
+ RESULT_VARIABLE git_result
+ OUTPUT_VARIABLE git_output)
if( git_result EQUAL 0 )
- string(SUBSTRING ${git_output} 0 7 git_ref_id)
- set(result "${result}-${git_ref_id}")
+ string(SUBSTRING ${git_output} 0 7 git_ref_id)
+ set(result "${result}-${git_ref_id}")
+ else()
+ execute_process(COMMAND ${git_executable} svn log --limit=1 --oneline
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ TIMEOUT 5
+ RESULT_VARIABLE git_result
+ OUTPUT_VARIABLE git_output)
+ if( git_result EQUAL 0 )
+ string(REGEX MATCH r[0-9]+ git_svn_rev ${git_output})
+ set(result "${result}-svn-${git_svn_rev}")
+ endif()
endif()
endif()
endif()