[CMake] Use .svn/wc.db as our VC dependency if it's available.
authorJordan Rose <jordan_rose@apple.com>
Thu, 20 Nov 2014 03:57:45 +0000 (03:57 +0000)
committerJordan Rose <jordan_rose@apple.com>
Thu, 20 Nov 2014 03:57:45 +0000 (03:57 +0000)
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

clang/lib/Basic/CMakeLists.txt

index 62748a0..a7bd8de 100644 (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.