summaryrefslogtreecommitdiff
path: root/cmake/modules/LLVMConfigVersion.cmake.in
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2014-04-16 23:15:31 +0000
committerEric Christopher <echristo@gmail.com>2014-04-16 23:15:31 +0000
commit0fa7dc4762d6fe0ab811f86e5d2c87231f2abcfe (patch)
treed224ba1b2d6022ca812a523f191c2acb47d03e50 /cmake/modules/LLVMConfigVersion.cmake.in
parent8e589975ea4c00b3250c497649075890798172af (diff)
downloadllvm-0fa7dc4762d6fe0ab811f86e5d2c87231f2abcfe.tar.gz
llvm-0fa7dc4762d6fe0ab811f86e5d2c87231f2abcfe.tar.bz2
llvm-0fa7dc4762d6fe0ab811f86e5d2c87231f2abcfe.tar.xz
Teach LLVMConfigVersion.cmake to behave as find_package() expects.
Patch by Brad King git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206426 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake/modules/LLVMConfigVersion.cmake.in')
-rw-r--r--cmake/modules/LLVMConfigVersion.cmake.in14
1 files changed, 13 insertions, 1 deletions
diff --git a/cmake/modules/LLVMConfigVersion.cmake.in b/cmake/modules/LLVMConfigVersion.cmake.in
index add5aa9a1c..e9ac4ed2da 100644
--- a/cmake/modules/LLVMConfigVersion.cmake.in
+++ b/cmake/modules/LLVMConfigVersion.cmake.in
@@ -1 +1,13 @@
-set(PACKAGE_VERSION "@PACKAGE_VERSION@") \ No newline at end of file
+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()