diff options
author | Reid Kleckner <rnk@google.com> | 2017-08-29 21:44:21 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-08-29 21:44:21 +0000 |
commit | 87b9591eeebfc9aaf563282d8cd802c268b30c2d (patch) | |
tree | 5ff3fe53daf41c279480487d19d0c47e9243306e | |
parent | e6c9ef369cab714f0f9e8a997d598d2f621703d0 (diff) |
[cmake] Stop putting the revision info in LLVM_VERSION_STRING
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
-rw-r--r-- | CMakeLists.txt | 4 | ||||
-rw-r--r-- | docs/CMake.rst | 7 | ||||
-rw-r--r-- | include/llvm/Support/CMakeLists.txt | 2 |
3 files changed, 5 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a056abeeb5f..d08fd67ddaf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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/") diff --git a/docs/CMake.rst b/docs/CMake.rst index bf97e917315..b6ebf37adc9 100644 --- a/docs/CMake.rst +++ b/docs/CMake.rst @@ -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. diff --git a/include/llvm/Support/CMakeLists.txt b/include/llvm/Support/CMakeLists.txt index 2ae666c91f5..9f374a52a88 100644 --- a/include/llvm/Support/CMakeLists.txt +++ b/include/llvm/Support/CMakeLists.txt @@ -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}") |