Index: clang/cmake/modules/CMakeLists.txt =================================================================== --- clang/cmake/modules/CMakeLists.txt +++ clang/cmake/modules/CMakeLists.txt @@ -23,6 +23,11 @@ ${CMAKE_CURRENT_SOURCE_DIR}/ClangConfig.cmake.in ${clang_cmake_builddir}/ClangConfig.cmake @ONLY) +write_basic_package_version_file( + "${clang_cmake_builddir}/ClangConfigVersion.cmake" + VERSION "${PACKAGE_VERSION}" + COMPATIBILITY SameMinorVersion +) set(CLANG_CONFIG_CMAKE_DIR) set(CLANG_CONFIG_LLVM_CMAKE_DIR) set(CLANG_CONFIG_EXPORTS_FILE) @@ -61,6 +66,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/ClangConfig.cmake + ${clang_cmake_builddir}/ClangConfigVersion.cmake ${CMAKE_CURRENT_SOURCE_DIR}/AddClang.cmake DESTINATION ${CLANG_INSTALL_PACKAGE_DIR} COMPONENT clang-cmake-exports) Index: flang/cmake/modules/CMakeLists.txt =================================================================== --- flang/cmake/modules/CMakeLists.txt +++ flang/cmake/modules/CMakeLists.txt @@ -23,6 +23,11 @@ ${CMAKE_CURRENT_SOURCE_DIR}/FlangConfig.cmake.in ${flang_cmake_builddir}/FlangConfig.cmake @ONLY) +write_basic_package_version_file( + "${flang_cmake_builddir}/FlangConfigVersion.cmake" + VERSION "${PACKAGE_VERSION}" + COMPATIBILITY SameMinorVersion +) set(FLANG_CONFIG_CMAKE_DIR) set(FLANG_CONFIG_LLVM_CMAKE_DIR) set(FLANG_CONFIG_EXPORTS_FILE) @@ -62,6 +67,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/FlangConfig.cmake + ${flang_cmake_builddir}/FlangConfigVersion.cmake DESTINATION ${FLANG_INSTALL_PACKAGE_DIR} COMPONENT flang-cmake-exports) Index: lld/cmake/modules/CMakeLists.txt =================================================================== --- lld/cmake/modules/CMakeLists.txt +++ lld/cmake/modules/CMakeLists.txt @@ -23,6 +23,11 @@ ${CMAKE_CURRENT_SOURCE_DIR}/LLDConfig.cmake.in ${lld_cmake_builddir}/LLDConfig.cmake @ONLY) +write_basic_package_version_file( + "${lld_cmake_builddir}/LLDConfigVersion.cmake" + VERSION "${PACKAGE_VERSION}" + COMPATIBILITY SameMinorVersion +) set(LLD_CONFIG_CMAKE_DIR) set(LLD_CONFIG_LLVM_CMAKE_DIR) set(LLD_CONFIG_EXPORTS_FILE) @@ -59,6 +64,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLDConfig.cmake + ${lld_cmake_builddir}/LLDConfigVersion.cmake DESTINATION ${LLD_INSTALL_PACKAGE_DIR} COMPONENT lld-cmake-exports) Index: llvm/cmake/modules/AddLLVM.cmake =================================================================== --- llvm/cmake/modules/AddLLVM.cmake +++ llvm/cmake/modules/AddLLVM.cmake @@ -1,6 +1,7 @@ include(LLVMProcessSources) include(LLVM-Config) include(DetermineGCCCompatible) +include(CMakePackageConfigHelpers) function(llvm_update_compile_flags name) get_property(sources TARGET ${name} PROPERTY SOURCES) Index: llvm/cmake/modules/CMakeLists.txt =================================================================== --- llvm/cmake/modules/CMakeLists.txt +++ llvm/cmake/modules/CMakeLists.txt @@ -128,7 +128,6 @@ @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}" Index: mlir/CMakeLists.txt =================================================================== --- mlir/CMakeLists.txt +++ mlir/CMakeLists.txt @@ -23,6 +23,8 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") + + set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}") endif() set(MLIR_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} ) Index: mlir/cmake/modules/CMakeLists.txt =================================================================== --- mlir/cmake/modules/CMakeLists.txt +++ mlir/cmake/modules/CMakeLists.txt @@ -28,6 +28,11 @@ ${CMAKE_CURRENT_SOURCE_DIR}/MLIRConfig.cmake.in ${mlir_cmake_builddir}/MLIRConfig.cmake @ONLY) +write_basic_package_version_file( + "${mlir_cmake_builddir}/MLIRConfigVersion.cmake" + VERSION "${PACKAGE_VERSION}" + COMPATIBILITY SameMinorVersion +) set(MLIR_CONFIG_CMAKE_DIR) set(MLIR_CONFIG_LLVM_CMAKE_DIR) set(MLIR_CONFIG_EXPORTS_FILE) @@ -80,6 +85,7 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MLIRConfig.cmake + ${mlir_cmake_builddir}/MLIRConfigVersion.cmake ${CMAKE_CURRENT_SOURCE_DIR}/AddMLIR.cmake DESTINATION ${MLIR_INSTALL_PACKAGE_DIR} COMPONENT mlir-cmake-exports) Index: polly/CMakeLists.txt =================================================================== --- polly/CMakeLists.txt +++ polly/CMakeLists.txt @@ -5,6 +5,7 @@ # Where is LLVM installed? find_package(LLVM CONFIG REQUIRED) + set(PACKAGE_VERSION "${LLVM_PACKAGE_VERSION}") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR}) include(HandleLLVMOptions) include(AddLLVM) Index: polly/cmake/CMakeLists.txt =================================================================== --- polly/cmake/CMakeLists.txt +++ polly/cmake/CMakeLists.txt @@ -71,6 +71,11 @@ ${CMAKE_CURRENT_SOURCE_DIR}/PollyConfig.cmake.in ${POLLY_CONFIG_CMAKE_DIR}/PollyConfig.cmake @ONLY) +write_basic_package_version_file( + "${POLLY_CONFIG_CMAKE_DIR}/PollyConfigVersion.cmake" + VERSION "${PACKAGE_VERSION}" + COMPATIBILITY SameMinorVersion +) file(GENERATE OUTPUT ${POLLY_CONFIG_CMAKE_DIR}/${POLLY_EXPORTS_FILE_NAME} @@ -128,6 +133,7 @@ install( FILES "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/PollyConfig.cmake" + "${POLLY_CONFIG_CMAKE_DIR}/PollyConfigVersion.cmake" "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${POLLY_EXPORTS_FILE_NAME}" DESTINATION "${POLLY_INSTALL_PACKAGE_DIR}") endif ()