[PATCH] D37272: [cmake] Stop putting the revision info in LLVM_VERSION_STRING
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 29 13:45:46 PDT 2017
rnk created this revision.
Herald added a subscriber: mgorny.
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
https://reviews.llvm.org/D37272
Files:
llvm/CMakeLists.txt
llvm/docs/CMake.rst
llvm/include/llvm/Support/CMakeLists.txt
Index: llvm/include/llvm/Support/CMakeLists.txt
===================================================================
--- llvm/include/llvm/Support/CMakeLists.txt
+++ llvm/include/llvm/Support/CMakeLists.txt
@@ -46,7 +46,7 @@
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}")
Index: llvm/docs/CMake.rst
===================================================================
--- llvm/docs/CMake.rst
+++ llvm/docs/CMake.rst
@@ -248,9 +248,10 @@
**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: llvm/CMakeLists.txt
===================================================================
--- llvm/CMakeLists.txt
+++ llvm/CMakeLists.txt
@@ -203,10 +203,6 @@
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/")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37272.113150.patch
Type: text/x-patch
Size: 1814 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170829/42d9736e/attachment.bin>
More information about the llvm-commits
mailing list