aboutsummaryrefslogtreecommitdiff
path: root/modules/kde4BasicFindPackageVersion.cmake.in
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2008-12-14 21:35:54 +0000
committerAlexander Neundorf <neundorf@kde.org>2008-12-14 21:35:54 +0000
commitbbe1d875e27f9d87fefa985d6a819cf931031be9 (patch)
treebacf636f4defeb5bce6a4b34ba6395bae58dc231 /modules/kde4BasicFindPackageVersion.cmake.in
parent4c11eb8050bdfc8465f45700e4d0969337999e08 (diff)
downloadextra-cmake-modules-bbe1d875e27f9d87fefa985d6a819cf931031be9.tar.gz
extra-cmake-modules-bbe1d875e27f9d87fefa985d6a819cf931031be9.tar.bz2
-add a macro which helps with generating a find_package() conform <package>Version.cmake file
Alex svn path=/trunk/KDE/kdelibs/; revision=896965
Diffstat (limited to 'modules/kde4BasicFindPackageVersion.cmake.in')
-rw-r--r--modules/kde4BasicFindPackageVersion.cmake.in27
1 files changed, 27 insertions, 0 deletions
diff --git a/modules/kde4BasicFindPackageVersion.cmake.in b/modules/kde4BasicFindPackageVersion.cmake.in
new file mode 100644
index 00000000..a347e15f
--- /dev/null
+++ b/modules/kde4BasicFindPackageVersion.cmake.in
@@ -0,0 +1,27 @@
+# This is a very basic file for the new style find_package() search mode,
+# i.e. Config-mode. It is used by KDE4_WRITE_BASIC_CMAKE_VERSION_FILE() from
+# KDE4Macros.cmake.
+# In this mode find_package() searches for a <package>Config.cmake
+# file and an associated <package>Version.cmake file, which it loads to check
+# the version number.
+# This file can be used with configure_file() to generate such a file for a project
+# with very basic logic.
+# It sets PACKAGE_VERSION_EXACT if the current version string and the requested
+# version string are exactly the same and it sets PACKAGE_VERSION_COMPATIBLE
+# if the current version is >= requested version.
+# If this is not good enough for your project, you need to write your own
+# improved <package>Version.cmake file.
+# This file requires the following three variables to be set:
+# PROJECT_VERSION_MAJOR
+# PROJECT_VERSION_MINOR
+# PROJECT_VERSION_PATCH
+
+
+set(PACKAGE_VERSION @PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@)
+
+if(NOT ${PACKAGE_FIND_VERSION} VERSION_LESS ${PACKAGE_VERSION} )
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if( ${PACKAGE_FIND_VERSION} STREQUAL ${PACKAGE_VERSION})
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif( ${PACKAGE_FIND_VERSION} STREQUAL ${PACKAGE_VERSION})
+endif(NOT ${PACKAGE_FIND_VERSION} VERSION_LESS ${PACKAGE_VERSION} )