[llvm-commits] [llvm] r110121 - in /llvm/trunk: CMakeLists.txt cmake/modules/VersionFromVCS.cmake

Oscar Fuentes ofv at wanadoo.es
Tue Aug 3 10:28:09 PDT 2010


Author: ofv
Date: Tue Aug  3 12:28:09 2010
New Revision: 110121

URL: http://llvm.org/viewvc/llvm-project?rev=110121&view=rev
Log:
CMake: add version control info to PACKAGE_VERSION, if available.

Adds "svn" or "git", depending on the VCS used. If svn, adds the
revision number as well.

Added:
    llvm/trunk/cmake/modules/VersionFromVCS.cmake
Modified:
    llvm/trunk/CMakeLists.txt

Modified: llvm/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/CMakeLists.txt?rev=110121&r1=110120&r2=110121&view=diff
==============================================================================
--- llvm/trunk/CMakeLists.txt (original)
+++ llvm/trunk/CMakeLists.txt Tue Aug  3 12:28:09 2010
@@ -3,8 +3,18 @@
 project(LLVM)
 cmake_minimum_required(VERSION 2.8)
 
+# Add path for custom modules
+set(CMAKE_MODULE_PATH
+  ${CMAKE_MODULE_PATH}
+  "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
+  "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules"
+  )
+
+set(PACKAGE_VERSION "2.8")
+include(VersionFromVCS)
+add_version_info_from_vcs(PACKAGE_VERSION)
+
 set(PACKAGE_NAME llvm)
-set(PACKAGE_VERSION 2.8svn)
 set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
 set(PACKAGE_BUGREPORT "llvmbugs at cs.uiuc.edu")
 
@@ -124,13 +134,6 @@
 
 set(llvm_builded_incs_dir ${LLVM_BINARY_DIR}/include/llvm)
 
-# Add path for custom modules
-set(CMAKE_MODULE_PATH
-  ${CMAKE_MODULE_PATH}
-  "${LLVM_MAIN_SRC_DIR}/cmake"
-  "${LLVM_MAIN_SRC_DIR}/cmake/modules"
-  )
-
 include(AddLLVMDefinitions)
 
 if(WIN32)

Added: llvm/trunk/cmake/modules/VersionFromVCS.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/VersionFromVCS.cmake?rev=110121&view=auto
==============================================================================
--- llvm/trunk/cmake/modules/VersionFromVCS.cmake (added)
+++ llvm/trunk/cmake/modules/VersionFromVCS.cmake Tue Aug  3 12:28:09 2010
@@ -0,0 +1,20 @@
+# Adds version control information to the variable VERS. For
+# determining the Version Control System used (if any) it inspects the
+# existence of certain subdirectories under CMAKE_CURRENT_SOURCE_DIR.
+
+function(add_version_info_from_vcs VERS)
+  set(result ${${VERS}})
+  if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.svn )
+    set(result "${result}svn")
+    find_package(Subversion)
+    if( Subversion_FOUND )
+      subversion_wc_info( ${CMAKE_CURRENT_SOURCE_DIR} Project )
+      if( Project_WC_REVISION )
+	set(result "${result}-r${Project_WC_REVISION}")
+      endif()
+    endif()
+  elseif( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git )
+    set(result "${result}git")
+  endif()
+  set(${VERS} ${result} PARENT_SCOPE)
+endfunction(add_version_info_from_vcs)





More information about the llvm-commits mailing list