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 "${PACKAGE_VERSION}" + COMPATIBILITY SameMinorVersion +) +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) 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@.@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()