]> granicus.if.org Git - llvm/commitdiff
Completely disable git/svn version checking if not needed.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 30 Jun 2017 18:48:33 +0000 (18:48 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 30 Jun 2017 18:48:33 +0000 (18:48 +0000)
Working with git on a branch I find it really annoying that committing
a change causes ninja to think that stuff needs to be rebuilt.

With this change at least nothing in llvm needs to be rebuild when
something is committed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306858 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt
docs/CMake.rst
include/llvm/Support/CMakeLists.txt

index 9cdc688d42b27a571fdd41c4d523ce4083dbd9e1..fc05f30e4cdb1a5610d359544d5255c90a5d4caf 100644 (file)
@@ -206,7 +206,7 @@ endif()
 include(VersionFromVCS)
 
 option(LLVM_APPEND_VC_REV
-  "Append the version control system revision id to LLVM version" OFF)
+  "Embed the version control system revision id in LLVM" ON)
 
 if( LLVM_APPEND_VC_REV )
   add_version_info_from_vcs(PACKAGE_VERSION)
index 2deae9361874abd111babc29a02382c2c614db09..aeebc8f6acf9a6b1ef7d152e89c7568606fb41df 100644 (file)
@@ -247,9 +247,10 @@ LLVM-specific variables
   tests.
 
 **LLVM_APPEND_VC_REV**:BOOL
-  Append version control revision info (svn revision number or Git revision id)
-  to LLVM version string (stored in the PACKAGE_VERSION macro). For this to work
-  cmake must be invoked before the build. Defaults to OFF.
+  Embed version control revision info (svn revision number or Git revision id).
+  This is used among other things in the LLVM version string (stored in the
+  PACKAGE_VERSION macro). For this to work cmake must be invoked before the
+  build. Defaults to ON.
 
 **LLVM_ENABLE_THREADS**:BOOL
   Build with threads support, if available. Defaults to ON.
index c58ccf216303c16ef0cdf1f5554cb4ff7d95ac29..95752cf018567529e8d548e4cdc647a6a1e052d7 100644 (file)
@@ -9,25 +9,27 @@ function(find_first_existing_file out_var)
 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" "")
+  if ( LLVM_APPEND_VC_REV )
+    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()
-  else()
-    find_first_existing_file(${out_var}
-      "${path}/.svn/wc.db"   # SVN 1.7
-      "${path}/.svn/entries" # SVN 1.6
-    )
   endif()
 endmacro()