[llvm] 3001d08 - [CMake] Use write_basic_package_version_file for LLVM
Stephen Kelly via llvm-commits
llvm-commits at lists.llvm.org
Sat Mar 27 14:03:10 PDT 2021
Author: Alex Reinking
Date: 2021-03-27T21:02:20Z
New Revision: 3001d080c813da20b329303bf8f45451480e5905
URL: https://github.com/llvm/llvm-project/commit/3001d080c813da20b329303bf8f45451480e5905
DIFF: https://github.com/llvm/llvm-project/commit/3001d080c813da20b329303bf8f45451480e5905.diff
LOG: [CMake] Use write_basic_package_version_file for LLVM
Use the CMake 3.13 features of CMakeConfigPackageHelpers to generate
LLVMConfigVersion.cmake with proper architecture detection, major+minor
version matching, etc.
Differential Revision: https://reviews.llvm.org/D99451
Added:
Modified:
llvm/cmake/modules/CMakeLists.txt
Removed:
llvm/cmake/modules/LLVMConfigVersion.cmake.in
################################################################################
diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
index 505dc9a29d700..8276126e9eda9 100644
--- a/llvm/cmake/modules/CMakeLists.txt
+++ b/llvm/cmake/modules/CMakeLists.txt
@@ -127,11 +127,13 @@ configure_file(
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
@ONLY)
-# Generate LLVMConfigVersion.cmake for build and install tree.
-configure_file(
- LLVMConfigVersion.cmake.in
- ${llvm_cmake_builddir}/LLVMConfigVersion.cmake
- @ONLY)
+# Generate LLVMConfigVersion.cmake for build tree (later copied to install tree).
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file(
+ "${llvm_cmake_builddir}/LLVMConfigVersion.cmake"
+ VERSION "${PACKAGE_VERSION}"
+ COMPATIBILITY SameMinorVersion
+)
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
get_property(llvm_has_exports GLOBAL PROPERTY LLVM_HAS_EXPORTS)
diff --git a/llvm/cmake/modules/LLVMConfigVersion.cmake.in b/llvm/cmake/modules/LLVMConfigVersion.cmake.in
deleted file mode 100644
index e9ac4ed2da786..0000000000000
--- a/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()
More information about the llvm-commits
mailing list