forked from OSchip/llvm-project
Add version to all LLVM cmake package
Add a version to non-LLVM cmake package so that users needing an exact version match can use the version parameter to find_package. Also adjust the find_package(LLVM) to use an exact version match as well. Reviewed By: arsenm, stellaraccident, mceier Differential Revision: https://reviews.llvm.org/D138274
This commit is contained in:
parent
234d2e27db
commit
ecfa2d3d99
|
@ -32,6 +32,10 @@ configure_file(
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/ClangConfig.cmake.in
|
||||
${clang_cmake_builddir}/ClangConfig.cmake
|
||||
@ONLY)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ClangConfigVersion.cmake.in
|
||||
${clang_cmake_builddir}/ClangConfigVersion.cmake
|
||||
@ONLY)
|
||||
set(CLANG_CONFIG_CMAKE_DIR)
|
||||
set(CLANG_CONFIG_LLVM_CMAKE_DIR)
|
||||
|
||||
|
@ -59,6 +63,10 @@ configure_file(
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/ClangConfig.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/ClangConfig.cmake
|
||||
@ONLY)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ClangConfigVersion.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/ClangConfigVersion.cmake
|
||||
@ONLY)
|
||||
set(CLANG_CONFIG_CODE)
|
||||
set(CLANG_CONFIG_CMAKE_DIR)
|
||||
|
||||
|
@ -67,6 +75,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
|||
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/ClangConfig.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/ClangConfigVersion.cmake
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/AddClang.cmake
|
||||
DESTINATION ${CLANG_INSTALL_PACKAGE_DIR}
|
||||
COMPONENT clang-cmake-exports)
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
@CLANG_CONFIG_CODE@
|
||||
|
||||
find_package(LLVM REQUIRED CONFIG
|
||||
set(LLVM_VERSION @LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@.@LLVM_VERSION_PATCH@)
|
||||
find_package(LLVM ${LLVM_VERSION} EXACT REQUIRED CONFIG
|
||||
HINTS "@CLANG_CONFIG_LLVM_CMAKE_DIR@")
|
||||
|
||||
set(CLANG_EXPORTED_TARGETS "@CLANG_EXPORTS@")
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
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()
|
|
@ -28,8 +28,8 @@ set(FLANG_CONFIG_INCLUDE_DIRS
|
|||
"${FLANG_BINARY_DIR}/include"
|
||||
)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/FlangConfig.cmake.in
|
||||
${flang_cmake_builddir}/FlangConfig.cmake
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/FlangConfigVersion.cmake.in
|
||||
${flang_cmake_builddir}/FlangConfigVersion.cmake
|
||||
@ONLY)
|
||||
set(FLANG_CONFIG_CMAKE_DIR)
|
||||
set(FLANG_CONFIG_LLVM_CMAKE_DIR)
|
||||
|
@ -46,6 +46,10 @@ configure_file(
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/FlangConfig.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/FlangConfig.cmake
|
||||
@ONLY)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/FlangConfigVersion.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/FlangConfigVersion.cmake
|
||||
@ONLY)
|
||||
|
||||
set(FLANG_CONFIG_CODE)
|
||||
set(FLANG_CONFIG_CMAKE_DIR)
|
||||
|
@ -56,6 +60,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
|||
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/FlangConfig.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/FlangConfigVersion.cmake
|
||||
DESTINATION ${FLANG_INSTALL_PACKAGE_DIR}
|
||||
COMPONENT flang-cmake-exports)
|
||||
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
@FLANG_CONFIG_CODE@
|
||||
|
||||
find_package(LLVM REQUIRED CONFIG
|
||||
set(LLVM_VERSION @LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@.@LLVM_VERSION_PATCH@)
|
||||
find_package(LLVM ${LLVM_VERSION} EXACT REQUIRED CONFIG
|
||||
HINTS "@FLANG_CONFIG_LLVM_CMAKE_DIR@")
|
||||
|
||||
set(FLANG_EXPORTED_TARGETS "@FLANG_EXPORTS@")
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
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()
|
|
@ -31,6 +31,10 @@ configure_file(
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/LLDConfig.cmake.in
|
||||
${lld_cmake_builddir}/LLDConfig.cmake
|
||||
@ONLY)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/LLDConfigVersion.cmake.in
|
||||
${lld_cmake_builddir}/LLDConfigVersion.cmake
|
||||
@ONLY)
|
||||
set(LLD_CONFIG_CMAKE_DIR)
|
||||
set(LLD_CONFIG_LLVM_CMAKE_DIR)
|
||||
|
||||
|
@ -44,6 +48,10 @@ configure_file(
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/LLDConfig.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLDConfig.cmake
|
||||
@ONLY)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/LLDConfigVersion.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLDConfigVersion.cmake
|
||||
@ONLY)
|
||||
set(LLD_CONFIG_CODE)
|
||||
set(LLD_CONFIG_CMAKE_DIR)
|
||||
|
||||
|
@ -52,6 +60,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
|||
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLDConfig.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLDConfigVersion.cmake
|
||||
DESTINATION ${LLD_INSTALL_PACKAGE_DIR}
|
||||
COMPONENT lld-cmake-exports)
|
||||
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
@LLD_CONFIG_CODE@
|
||||
|
||||
find_package(LLVM REQUIRED CONFIG
|
||||
set(LLVM_VERSION @LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@.@LLVM_VERSION_PATCH@)
|
||||
find_package(LLVM ${LLVM_VERSION} EXACT REQUIRED CONFIG
|
||||
HINTS "@LLD_CONFIG_LLVM_CMAKE_DIR@")
|
||||
|
||||
set(LLD_EXPORTED_TARGETS "@LLD_EXPORTS@")
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
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()
|
|
@ -41,6 +41,10 @@ configure_file(
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/MLIRConfig.cmake.in
|
||||
${mlir_cmake_builddir}/MLIRConfig.cmake
|
||||
@ONLY)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/MLIRConfigVersion.cmake.in
|
||||
${mlir_cmake_builddir}/MLIRConfigVersion.cmake
|
||||
@ONLY)
|
||||
set(MLIR_CONFIG_CMAKE_DIR)
|
||||
set(MLIR_CONFIG_LLVM_CMAKE_DIR)
|
||||
set(MLIR_CONFIG_INCLUDE_DIRS)
|
||||
|
@ -75,6 +79,10 @@ configure_file(
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/MLIRConfig.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MLIRConfig.cmake
|
||||
@ONLY)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/MLIRConfigVersion.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MLIRConfigVersion.cmake
|
||||
@ONLY)
|
||||
set(MLIR_CONFIG_CODE)
|
||||
set(MLIR_CONFIG_CMAKE_DIR)
|
||||
set(MLIR_CONFIG_LLVM_CMAKE_DIR)
|
||||
|
@ -87,6 +95,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
|||
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MLIRConfig.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MLIRConfigVersion.cmake
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/AddMLIR.cmake
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/AddMLIRPython.cmake
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/MLIRDetectPythonEnv.cmake
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
@MLIR_CONFIG_CODE@
|
||||
|
||||
find_package(LLVM REQUIRED CONFIG
|
||||
set(LLVM_VERSION @LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@.@LLVM_VERSION_PATCH@)
|
||||
find_package(LLVM ${LLVM_VERSION} EXACT REQUIRED CONFIG
|
||||
HINTS "@MLIR_CONFIG_LLVM_CMAKE_DIR@")
|
||||
|
||||
set(MLIR_EXPORTED_TARGETS "@MLIR_EXPORTS@")
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
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()
|
|
@ -82,6 +82,10 @@ configure_file(
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/PollyConfig.cmake.in
|
||||
${polly_cmake_builddir}/PollyConfig.cmake
|
||||
@ONLY)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/PollyConfigVersion.cmake.in
|
||||
${polly_cmake_builddir}/PollyConfigVersion.cmake
|
||||
@ONLY)
|
||||
|
||||
file(GENERATE
|
||||
OUTPUT ${polly_cmake_builddir}/${POLLY_EXPORTS_FILE_NAME}
|
||||
|
@ -138,6 +142,10 @@ configure_file(
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/PollyConfig.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/PollyConfig.cmake
|
||||
@ONLY)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/PollyConfigVersion.cmake.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/PollyConfigVersion.cmake
|
||||
@ONLY)
|
||||
file(GENERATE OUTPUT
|
||||
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${POLLY_EXPORTS_FILE_NAME}
|
||||
CONTENT "${POLLY_EXPORTS}")
|
||||
|
@ -146,6 +154,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
|
|||
install(
|
||||
FILES
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/PollyConfig.cmake"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/PollyConfigVersion.cmake"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${POLLY_EXPORTS_FILE_NAME}"
|
||||
DESTINATION "${POLLY_INSTALL_PACKAGE_DIR}")
|
||||
endif ()
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
|
||||
@POLLY_CONFIG_CODE@
|
||||
|
||||
find_package(LLVM REQUIRED CONFIG
|
||||
set(LLVM_VERSION @LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@.@LLVM_VERSION_PATCH@)
|
||||
find_package(LLVM ${LLVM_VERSION} EXACT REQUIRED CONFIG
|
||||
HINTS "@POLLY_CONFIG_LLVM_CMAKE_DIR@")
|
||||
|
||||
set(Polly_CMAKE_DIR ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
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()
|
Loading…
Reference in New Issue