[PATCH] D99451: Use write_basic_package_version_file for LLVM
Alex Reinking via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 26 22:28:05 PDT 2021
alexreinking created this revision.
alexreinking added a reviewer: steveire.
Herald added a subscriber: mgorny.
alexreinking requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Use the CMake 3.13 features of CMakeConfigPackageHelpers to generate LLVMConfigVersion.cmake with proper architecture detection, major+minor version matching, etc.
Also adds the file to the build tree, which the comments suggested would happen, but wasn't.
https://reviews.llvm.org/D99451
Files:
llvm/cmake/modules/CMakeLists.txt
llvm/cmake/modules/LLVMConfigVersion.cmake.in
Index: llvm/cmake/modules/LLVMConfigVersion.cmake.in
===================================================================
--- llvm/cmake/modules/LLVMConfigVersion.cmake.in
+++ /dev/null
@@ -1,13 +0,0 @@
-set(PACKAGE_VERSION "@PACKAGE_VERSION@")
-
-# LLVM is API-compatible only with matching major.minor versions
-# and patch versions not less than that requested.
-if("@LLVM_VERSION_MAJOR at .@LLVM_VERSION_MINOR@" VERSION_EQUAL
- "${PACKAGE_FIND_VERSION_MAJOR}.${PACKAGE_FIND_VERSION_MINOR}"
- AND NOT "@LLVM_VERSION_PATCH@" VERSION_LESS "${PACKAGE_FIND_VERSION_PATCH}")
- set(PACKAGE_VERSION_COMPATIBLE 1)
- if("@LLVM_VERSION_PATCH@" VERSION_EQUAL
- "${PACKAGE_FIND_VERSION_PATCH}")
- set(PACKAGE_VERSION_EXACT 1)
- endif()
-endif()
Index: llvm/cmake/modules/CMakeLists.txt
===================================================================
--- llvm/cmake/modules/CMakeLists.txt
+++ llvm/cmake/modules/CMakeLists.txt
@@ -128,10 +128,17 @@
@ONLY)
# Generate LLVMConfigVersion.cmake for build and install tree.
-configure_file(
- LLVMConfigVersion.cmake.in
- ${llvm_cmake_builddir}/LLVMConfigVersion.cmake
- @ONLY)
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file(
+ "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfigVersion.cmake"
+ VERSION "${LLVM_VERSION}"
+ COMPATIBILITY SameMinorVersion
+)
+write_basic_package_version_file(
+ "${llvm_cmake_builddir}/LLVMConfigVersion.cmake"
+ VERSION "${LLVM_VERSION}"
+ COMPATIBILITY SameMinorVersion
+)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
get_property(llvm_has_exports GLOBAL PROPERTY LLVM_HAS_EXPORTS)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D99451.333658.patch
Type: text/x-patch
Size: 1603 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210327/cfb191ee/attachment.bin>
More information about the llvm-commits
mailing list