[llvm] r177938 - Introduce a tiny CMake project to gather Subversion revision information and place it into a header.
Douglas Gregor
dgregor at apple.com
Mon Mar 25 16:14:19 PDT 2013
Author: dgregor
Date: Mon Mar 25 18:14:19 2013
New Revision: 177938
URL: http://llvm.org/viewvc/llvm-project?rev=177938&view=rev
Log:
Introduce a tiny CMake project to gather Subversion revision information and place it into a header.
Added:
llvm/trunk/cmake/modules/GetSVN.cmake
Added: llvm/trunk/cmake/modules/GetSVN.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/GetSVN.cmake?rev=177938&view=auto
==============================================================================
--- llvm/trunk/cmake/modules/GetSVN.cmake (added)
+++ llvm/trunk/cmake/modules/GetSVN.cmake Mon Mar 25 18:14:19 2013
@@ -0,0 +1,25 @@
+# CMake project that writes Subversion revision information to a header.
+#
+# Input variables:
+# FIRST_SOURCE_DIR - First source directory
+# FIRST_REPOSITORY - The macro to define to the first revision number.
+# SECOND_SOURCE_DIR - Second source directory
+# SECOND_REPOSITORY - The macro to define to the second revision number.
+# HEADER_FILE - The header file to write
+include(FindSubversion)
+if (Subversion_FOUND AND EXISTS "${FIRST_SOURCE_DIR}/.svn")
+ # Repository information for the first repository.
+ Subversion_WC_INFO(${FIRST_SOURCE_DIR} MY)
+ file(WRITE ${HEADER_FILE}.txt "#define ${FIRST_REPOSITORY} \"${MY_WC_REVISION}\"\n")
+
+ # Repository information for the second repository.
+ if (EXISTS "${SECOND_SOURCE_DIR}/.svn")
+ Subversion_WC_INFO(${SECOND_SOURCE_DIR} MY)
+ file(APPEND ${HEADER_FILE}.txt
+ "#define ${SECOND_REPOSITORY} \"${MY_WC_REVISION}\"\n")
+ endif ()
+
+ # Copy the file only if it has changed.
+ execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
+ ${HEADER_FILE}.txt ${HEADER_FILE})
+endif()
More information about the llvm-commits
mailing list