diff options
author | David Faure <faure@kde.org> | 2007-03-19 13:41:24 +0000 |
---|---|---|
committer | David Faure <faure@kde.org> | 2007-03-19 13:41:24 +0000 |
commit | 7187b3101f91daf34441a9903add8d71cd52d4ee (patch) | |
tree | 1bc0d31c92cf8680c8f689dada48285bfa95b298 /modules/FindSharedMimeInfo.cmake | |
parent | 9d360e3f7c8d25a3e55584381521f775d703e982 (diff) | |
download | extra-cmake-modules-7187b3101f91daf34441a9903add8d71cd52d4ee.tar.gz extra-cmake-modules-7187b3101f91daf34441a9903add8d71cd52d4ee.tar.bz2 |
shared-mime-info related macros by Pino Toscano (thanks!)
svn path=/trunk/KDE/kdelibs/; revision=644190
Diffstat (limited to 'modules/FindSharedMimeInfo.cmake')
-rw-r--r-- | modules/FindSharedMimeInfo.cmake | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake new file mode 100644 index 00000000..89c2275d --- /dev/null +++ b/modules/FindSharedMimeInfo.cmake @@ -0,0 +1,55 @@ +# - Try to find the shared-mime-info package +# Once done this will define +# +# SHARED_MIME_INFO_FOUND - system has the shared-mime-info package +# UPDATE_MIME_DATABASE_EXECUTABLE - the update-mime-database executable +# +# Copyright (c) 2007, Pino Toscano, <toscano.pino@tiscali.it> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +# the minimum version of shared-mime-database we require +set(SHARED_MIME_INFO_MINIMUM_VERSION "0.18") + +if (UPDATE_MIME_DATABASE_EXECUTABLE) + + # in cache already + set(SHARED_MIME_INFO_FOUND TRUE) + +else (UPDATE_MIME_DATABASE_EXECUTABLE) + + include (MacroEnsureVersion) + + find_program (UPDATE_MIME_DATABASE_EXECUTABLE NAMES update-mime-database) + + if (UPDATE_MIME_DATABASE_EXECUTABLE) + + exec_program (${UPDATE_MIME_DATABASE_EXECUTABLE} ARGS -v RETURN_VALUE _null OUTPUT_VARIABLE _smiVersionRaw) + + string(REGEX REPLACE "update-mime-database \\(shared-mime-info\\) ([0-9]\\.[0-9]+).*" + "\\1" smiVersion "${_smiVersionRaw}") + + set (SHARED_MIME_INFO_FOUND TRUE) + endif (UPDATE_MIME_DATABASE_EXECUTABLE) + + if (SHARED_MIME_INFO_FOUND) + if (NOT SharedMimeInfo_FIND_QUIETLY) + message(STATUS "Found shared-mime-info version: ${smiVersion}") + + macro_ensure_version2(${SHARED_MIME_INFO_MINIMUM_VERSION} ${smiVersion} _smiVersion_OK) + if (NOT _smiVersion_OK) + message(STATUS "WARNING: the found version of shared-mime-info (${smiVersion}) is below the minimum required (${SHARED_MIME_INFO_MINIMUM_VERSION})") + endif (NOT _smiVersion_OK) + + endif (NOT SharedMimeInfo_FIND_QUIETLY) + else (SHARED_MIME_INFO_FOUND) + if (SharedMimeInfo_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find shared-mime-info") + endif (SharedMimeInfo_FIND_REQUIRED) + endif (SHARED_MIME_INFO_FOUND) + + # ensure that they are cached + set(UPDATE_MIME_DATABASE_EXECUTABLE ${UPDATE_MIME_DATABASE_EXECUTABLE} CACHE INTERNAL "The update-mime-database executable") + +endif (UPDATE_MIME_DATABASE_EXECUTABLE) |