From: Reid Kleckner Date: Tue, 29 Aug 2017 21:44:21 +0000 (+0000) Subject: [cmake] Stop putting the revision info in LLVM_VERSION_STRING X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=87b9591eeebfc9aaf563282d8cd802c268b30c2d;p=llvm [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 --- 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}")