[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
This commit is contained in:
Alex Reinking 2021-03-27 20:23:53 +00:00 committed by Stephen Kelly
parent d3e7ee36f6
commit 3001d080c8
2 changed files with 7 additions and 18 deletions

View File

@ -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)

View File

@ -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@.@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()