aboutsummaryrefslogtreecommitdiff
path: root/cmake/modules/GetSVN.cmake
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2013-04-03 14:07:16 +0000
committerAlexander Kornienko <alexfh@google.com>2013-04-03 14:07:16 +0000
commite133bc868944822bf8961f825d3aa63d6fa48fb7 (patch)
treeebbd4a8040181471467a9737d90d94dc6b58b316 /cmake/modules/GetSVN.cmake
parent647735c781c5b37061ee03d6e9e6c7dda92218e2 (diff)
parent080e3c523e87ec68ca1ea5db4cd49816028dd8bd (diff)
Updating branches/google/stable to r178511stable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/google/stable@178655 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake/modules/GetSVN.cmake')
-rw-r--r--cmake/modules/GetSVN.cmake25
1 files changed, 25 insertions, 0 deletions
diff --git a/cmake/modules/GetSVN.cmake b/cmake/modules/GetSVN.cmake
new file mode 100644
index 0000000000..acccc12a94
--- /dev/null
+++ b/cmake/modules/GetSVN.cmake
@@ -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()