[CMake] Use .svn/wc.db as our VC dependency if it's available.

In order to keep SVNVersion.inc from being regenerated on every build, we need
to specify as a dependency a file that only changes when the VC state updates.
I previously just had .svn/entries, but that's only used by Subversion 1.6.
1.7 uses .svn/wc.db instead; prefer that if it's present.

(Thanks, Nico!)

llvm-svn: 222407
This commit is contained in:
Jordan Rose 2014-11-20 03:57:45 +00:00
parent d50a62e9e8
commit 08b3638b84
1 changed files with 10 additions and 6 deletions

View File

@ -14,12 +14,16 @@ function(find_first_existing_file out_var)
endforeach()
endfunction()
find_first_existing_file(llvm_vc
"${LLVM_MAIN_SRC_DIR}/.git/logs/HEAD"
"${LLVM_MAIN_SRC_DIR}/.svn/entries")
find_first_existing_file(clang_vc
"${CLANG_SOURCE_DIR}/.git/logs/HEAD"
"${CLANG_SOURCE_DIR}/.svn/entries")
macro(find_first_existing_vc_file out_var path)
find_first_existing_file(${out_var}
"${path}/.git/logs/HEAD" # Git
"${path}/.svn/wc.db" # SVN 1.7
"${path}/.svn/entries" # SVN 1.6
)
endmacro()
find_first_existing_vc_file(llvm_vc "${LLVM_MAIN_SRC_DIR}")
find_first_existing_vc_file(clang_vc "${CLANG_SOURCE_DIR}")
if(DEFINED llvm_vc AND DEFINED clang_vc)
# Create custom target to generate the VC revision include.