[llvm] r312419 - [CMAKE] Move version control macros to AddLLVM.cmake so they can be reused by clang, etc.

Don Hinton via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 2 10:28:39 PDT 2017


Author: dhinton
Date: Sat Sep  2 10:28:39 2017
New Revision: 312419

URL: http://llvm.org/viewvc/llvm-project?rev=312419&view=rev
Log:
[CMAKE] Move version control macros to AddLLVM.cmake so they can be reused by clang, etc.

Summary:
Move version control macros, find_first_existing_file and
find_first_existing_vc_file to AddLLVM.cmake so they can be reused by sub projects
like clang.

Differential Revision: https://reviews.llvm.org/D36971

Modified:
    llvm/trunk/cmake/modules/AddLLVM.cmake
    llvm/trunk/include/llvm/Support/CMakeLists.txt

Modified: llvm/trunk/cmake/modules/AddLLVM.cmake
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/AddLLVM.cmake?rev=312419&r1=312418&r2=312419&view=diff
==============================================================================
--- llvm/trunk/cmake/modules/AddLLVM.cmake (original)
+++ llvm/trunk/cmake/modules/AddLLVM.cmake Sat Sep  2 10:28:39 2017
@@ -1499,3 +1499,36 @@ function(setup_dependency_debugging name
   set(sandbox_command "sandbox-exec -p '(version 1) (allow default) ${deny_attributes_gen} ${deny_intrinsics_gen}'")
   set_target_properties(${name} PROPERTIES RULE_LAUNCH_COMPILE ${sandbox_command})
 endfunction()
+
+# Figure out if we can track VC revisions.
+function(find_first_existing_file out_var)
+  foreach(file ${ARGN})
+    if(EXISTS "${file}")
+      set(${out_var} "${file}" PARENT_SCOPE)
+      return()
+    endif()
+  endforeach()
+endfunction()
+
+macro(find_first_existing_vc_file out_var path)
+    find_program(git_executable NAMES git git.exe git.cmd)
+    # Run from a subdirectory to force git to print an absolute path.
+    execute_process(COMMAND ${git_executable} rev-parse --git-dir
+      WORKING_DIRECTORY ${path}/cmake
+      RESULT_VARIABLE git_result
+      OUTPUT_VARIABLE git_dir
+      ERROR_QUIET)
+    if(git_result EQUAL 0)
+      string(STRIP "${git_dir}" git_dir)
+      set(${out_var} "${git_dir}/logs/HEAD")
+      # some branchless cases (e.g. 'repo') may not yet have .git/logs/HEAD
+      if (NOT EXISTS "${git_dir}/logs/HEAD")
+        file(WRITE "${git_dir}/logs/HEAD" "")
+      endif()
+    else()
+      find_first_existing_file(${out_var}
+        "${path}/.svn/wc.db"   # SVN 1.7
+        "${path}/.svn/entries" # SVN 1.6
+      )
+    endif()
+endmacro()

Modified: llvm/trunk/include/llvm/Support/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/CMakeLists.txt?rev=312419&r1=312418&r2=312419&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/CMakeLists.txt (original)
+++ llvm/trunk/include/llvm/Support/CMakeLists.txt Sat Sep  2 10:28:39 2017
@@ -1,36 +1,3 @@
-# Figure out if we can track VC revisions.
-function(find_first_existing_file out_var)
-  foreach(file ${ARGN})
-    if(EXISTS "${file}")
-      set(${out_var} "${file}" PARENT_SCOPE)
-      return()
-    endif()
-  endforeach()
-endfunction()
-
-macro(find_first_existing_vc_file out_var path)
-  find_program(git_executable NAMES git git.exe git.cmd)
-  # Run from a subdirectory to force git to print an absolute path.
-  execute_process(COMMAND ${git_executable} rev-parse --git-dir
-    WORKING_DIRECTORY ${path}/cmake
-    RESULT_VARIABLE git_result
-    OUTPUT_VARIABLE git_dir
-    ERROR_QUIET)
-  if(git_result EQUAL 0)
-    string(STRIP "${git_dir}" git_dir)
-    set(${out_var} "${git_dir}/logs/HEAD")
-    # some branchless cases (e.g. 'repo') may not yet have .git/logs/HEAD
-    if (NOT EXISTS "${git_dir}/logs/HEAD")
-      file(WRITE "${git_dir}/logs/HEAD" "")
-    endif()
-  else()
-    find_first_existing_file(${out_var}
-      "${path}/.svn/wc.db"   # SVN 1.7
-      "${path}/.svn/entries" # SVN 1.6
-    )
-  endif()
-endmacro()
-
 find_first_existing_vc_file(llvm_vc "${LLVM_MAIN_SRC_DIR}")
 
 # The VC revision include that we want to generate.




More information about the llvm-commits mailing list