Introduce a tiny CMake project to gather Subversion revision information and place it into a header.

llvm-svn: 177938
This commit is contained in:
Douglas Gregor 2013-03-25 23:14:19 +00:00
parent 4d39e81fb8
commit 96fa0fcff1
1 changed files with 25 additions and 0 deletions

View File

@ -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()