diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt --- a/llvm/cmake/modules/CMakeLists.txt +++ b/llvm/cmake/modules/CMakeLists.txt @@ -127,11 +127,13 @@ ${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 --- 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@.@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()