]> granicus.if.org Git - llvm/commitdiff
[cmake] Stop putting the revision info in LLVM_VERSION_STRING
authorReid Kleckner <rnk@google.com>
Tue, 29 Aug 2017 21:44:21 +0000 (21:44 +0000)
committerReid Kleckner <rnk@google.com>
Tue, 29 Aug 2017 21:44:21 +0000 (21:44 +0000)
Summary:
This reduces the number of build actions after a no-op commit from
thousands to about six, which should be acceptable. If six actions is
still too many, developers can disable the LLVM_APPEND_VC_REV cmake
option.

llvm-config.h is a widely included header that should rarely change.
Before this patch, it would change after every re-configure. Very few
users of llvm-config.h need to know the precise version, and those that
do can migrate to incorporating LLVM_REVISION as provided by
llvm/Support/VCSRevision.h.

This should bring LLVM back to the behavior that it had before r306858
from June 30 2017. Most LLVM tools will now print a version string like
"6.0.0svn" instead of "6.0.0-git-c40c2a23de4".

Fixes PR34308

Reviewers: pcc, rafael, hans

Subscribers: mgorny, llvm-commits

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

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

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

index a056abeeb5f86915913ad607c51400f1ca5c0090..d08fd67ddaf9bd93f8c5767d7b4150f80ddb02e9 100644 (file)
@@ -203,10 +203,6 @@ include(VersionFromVCS)
 option(LLVM_APPEND_VC_REV
   "Embed the version control system revision id in LLVM" ON)
 
-if( LLVM_APPEND_VC_REV )
-  add_version_info_from_vcs(PACKAGE_VERSION)
-endif()
-
 set(PACKAGE_NAME LLVM)
 set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
 set(PACKAGE_BUGREPORT "http://llvm.org/bugs/")
index bf97e9173158f87a85a82fe7d70cf6e829c71cab..b6ebf37adc92dac05be66e8e120f88d7151d0cb3 100644 (file)
@@ -248,9 +248,10 @@ LLVM-specific variables
 
 **LLVM_APPEND_VC_REV**:BOOL
   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.
+  The version info is provided by the ``LLVM_REVISION`` macro in
+  ``llvm/include/llvm/Support/VCSRevision.h``. Developers using git who don't
+  need revision info can disable this option to avoid re-linking most binaries
+  after a branch switch. Defaults to ON.
 
 **LLVM_ENABLE_THREADS**:BOOL
   Build with threads support, if available. Defaults to ON.
index 2ae666c91f58000828ea9a993f85f771e7b342e7..9f374a52a880edd2f9fb41e9c1eb7fb078ec6c31 100644 (file)
@@ -46,7 +46,7 @@ if((DEFINED llvm_vc) AND LLVM_APPEND_VC_REV)
       RESULT_VARIABLE files_not_equal
       OUTPUT_QUIET
       ERROR_QUIET)
-  # Remove ${version_inc} if it's empty -- toggling LLMV_APPEND_VC_REV
+  # Remove ${version_inc} if it's empty -- toggling LLVM_APPEND_VC_REV
   # from OFF to ON.
   if(NOT files_not_equal)
     file(REMOVE "${version_inc}")