From 7187b3101f91daf34441a9903add8d71cd52d4ee Mon Sep 17 00:00:00 2001 From: David Faure Date: Mon, 19 Mar 2007 13:41:24 +0000 Subject: shared-mime-info related macros by Pino Toscano (thanks!) svn path=/trunk/KDE/kdelibs/; revision=644190 --- modules/FindSharedMimeInfo.cmake | 55 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 modules/FindSharedMimeInfo.cmake (limited to 'modules/FindSharedMimeInfo.cmake') 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, +# +# 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) -- cgit v1.2.1 From 781577ce1680e84f0d04a6faf9693b57652e3599 Mon Sep 17 00:00:00 2001 From: Harri Porten Date: Sat, 14 Apr 2007 01:07:35 +0000 Subject: help clueless persons like me svn path=/trunk/KDE/kdelibs/; revision=653683 --- modules/FindSharedMimeInfo.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 89c2275d..83da92e3 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -45,7 +45,7 @@ else (UPDATE_MIME_DATABASE_EXECUTABLE) endif (NOT SharedMimeInfo_FIND_QUIETLY) else (SHARED_MIME_INFO_FOUND) if (SharedMimeInfo_FIND_REQUIRED) - message(FATAL_ERROR "Could NOT find shared-mime-info") + message(FATAL_ERROR "Could NOT find shared-mime-info. See http://freedesktop.org/wiki/Software/shared-mime-info.") endif (SharedMimeInfo_FIND_REQUIRED) endif (SHARED_MIME_INFO_FOUND) -- cgit v1.2.1 From 6fcde8cd082947a3559310675c1b72a5b5780230 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Mon, 23 Jul 2007 04:06:48 +0000 Subject: move the mimetype update macro to FindSharedMimeInfo.cmake, since it belongs to this stuff and not really to KDE4 Alex svn path=/trunk/KDE/kdelibs/; revision=691173 --- modules/FindSharedMimeInfo.cmake | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 83da92e3..8b10d208 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -3,7 +3,7 @@ # # 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, # # Redistribution and use is allowed according to the terms of the BSD license. @@ -49,7 +49,19 @@ else (UPDATE_MIME_DATABASE_EXECUTABLE) 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) + +macro(UPDATE_XDG_MIMETYPES _path) + get_filename_component(_xdgmimeDir "${_path}" NAME) + if("${_xdgmimeDir}" STREQUAL packages ) + get_filename_component(_xdgmimeDir "${_path}" PATH) + else("${_xdgmimeDir}" STREQUAL packages ) + set(_xdgmimeDir "${_path}") + endif("${_xdgmimeDir}" STREQUAL packages ) + install(CODE " +set(DESTDIR_VALUE \"\$ENV{DESTDIR}\") +if (NOT DESTDIR_VALUE) + execute_process(COMMAND ${UPDATE_MIME_DATABASE_EXECUTABLE} ${_xdgmimeDir}) +endif (NOT DESTDIR_VALUE) +") +endmacro (UPDATE_XDG_MIMETYPES) -- cgit v1.2.1 From 965e3c90e0f222afe23255c694103b922c5cf602 Mon Sep 17 00:00:00 2001 From: Patrick Spendrin Date: Sun, 2 Dec 2007 12:40:16 +0000 Subject: problem on win32 - might be another problem somewhere else - packaging perhaps? svn path=/trunk/KDE/kdelibs/; revision=743951 --- modules/FindSharedMimeInfo.cmake | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 8b10d208..154e58a5 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -27,17 +27,15 @@ else (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]+).*" + string(REGEX REPLACE "update-mime-database \\([a-zA-Z\\-]+\\) ([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) + macro_ensure_version(${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) -- cgit v1.2.1 From 39c3e2344c4178f258f2a96133bd587938a7f686 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Thu, 17 Jan 2008 16:16:55 +0000 Subject: Strinctly require shared-mime-info 0.20 or later. svn path=/trunk/KDE/kdelibs/; revision=762655 --- modules/FindSharedMimeInfo.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 154e58a5..b00c0320 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -10,7 +10,7 @@ # 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") +set(SHARED_MIME_INFO_MINIMUM_VERSION "0.20") if (UPDATE_MIME_DATABASE_EXECUTABLE) @@ -37,7 +37,7 @@ else (UPDATE_MIME_DATABASE_EXECUTABLE) message(STATUS "Found shared-mime-info version: ${smiVersion}") macro_ensure_version(${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})") + message(FATAL_ERROR "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) -- cgit v1.2.1 From 1f55f97829c1539498fd8528fe6dc8ec19f1c012 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sun, 20 Jan 2008 22:29:14 +0000 Subject: -default minimum version 0.18 (as shipped with KDE 4.0.0), but now user overridable, used in mimetypes/CMakeLists.txt (see discussion on k-c-d, http://lists.kde.org/?t=119953210500006 ) Alex CCMAIL: toscano.pino@tiscali.it are there more places where this is used ? svn path=/trunk/KDE/kdelibs/; revision=764073 --- modules/FindSharedMimeInfo.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index b00c0320..e3966b86 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -10,7 +10,9 @@ # 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.20") +if (NOT SHARED_MIME_INFO_MINIMUM_VERSION) + set(SHARED_MIME_INFO_MINIMUM_VERSION "0.18") +endif (NOT SHARED_MIME_INFO_MINIMUM_VERSION) if (UPDATE_MIME_DATABASE_EXECUTABLE) -- cgit v1.2.1 From 9197e55392ed66b784cb719e202a24f78cd03c58 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Thu, 3 Apr 2008 22:12:21 +0000 Subject: -mark some variables as advanced, so they don't appear in the not-advanced view of cmake-gui and ccmake -some minor cosmetics (casing and spaces vs. tabs) Alex svn path=/trunk/KDE/kdelibs/; revision=793410 --- modules/FindSharedMimeInfo.cmake | 3 +++ 1 file changed, 3 insertions(+) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index e3966b86..3ff8227c 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -51,6 +51,9 @@ else (UPDATE_MIME_DATABASE_EXECUTABLE) endif (UPDATE_MIME_DATABASE_EXECUTABLE) +mark_as_advanced(UPDATE_MIME_DATABASE_EXECUTABLE) + + macro(UPDATE_XDG_MIMETYPES _path) get_filename_component(_xdgmimeDir "${_path}" NAME) if("${_xdgmimeDir}" STREQUAL packages ) -- cgit v1.2.1 From b39617de7f4d234fa88fafa45f73bc0a0f97256c Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Tue, 1 Jul 2008 16:12:57 +0000 Subject: this should fix update-mime-info execution on windows svn path=/trunk/KDE/kdelibs/; revision=826849 --- modules/FindSharedMimeInfo.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 3ff8227c..510c4992 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -64,7 +64,8 @@ macro(UPDATE_XDG_MIMETYPES _path) install(CODE " set(DESTDIR_VALUE \"\$ENV{DESTDIR}\") if (NOT DESTDIR_VALUE) - execute_process(COMMAND ${UPDATE_MIME_DATABASE_EXECUTABLE} ${_xdgmimeDir}) + execute_process(COMMAND ${UPDATE_MIME_DATABASE_EXECUTABLE} ${_xdgmimeDir} + WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}) endif (NOT DESTDIR_VALUE) ") endmacro (UPDATE_XDG_MIMETYPES) -- cgit v1.2.1 From 5d69cd884cefe000851884ea9c3f3ec851fe4122 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sun, 20 Jul 2008 10:26:08 +0000 Subject: FindPCRE.cmake: lowercasing FindSharedMimeInfo.cmake: document SHARED_MIME_INFO_MINIMUM_VERSION and add a comment about the WORKING_DIRECTORY FindGStreamer.cmake: use FIND_PACKAGE_HANDLE_STANDARD_ARGS() FindExiv2.cmake: lowercasing, document EXIV2_MIN_VERSION FindKDE4Internal.cmake: remove empty lines from documentation block so everything is included again in the generated documentation Alex svn path=/trunk/KDE/kdelibs/; revision=835253 --- modules/FindSharedMimeInfo.cmake | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 510c4992..707cb006 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -1,4 +1,7 @@ # - Try to find the shared-mime-info package +# +# SHARED_MIME_INFO_MINIMUM_VERSION - Set this to the minimum version you need, default is 0.18 +# # Once done this will define # # SHARED_MIME_INFO_FOUND - system has the shared-mime-info package @@ -61,9 +64,11 @@ macro(UPDATE_XDG_MIMETYPES _path) else("${_xdgmimeDir}" STREQUAL packages ) set(_xdgmimeDir "${_path}") endif("${_xdgmimeDir}" STREQUAL packages ) + install(CODE " set(DESTDIR_VALUE \"\$ENV{DESTDIR}\") if (NOT DESTDIR_VALUE) + # under Windows relative paths are used, that's why it runs from CMAKE_INSTALL_PREFIX execute_process(COMMAND ${UPDATE_MIME_DATABASE_EXECUTABLE} ${_xdgmimeDir} WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}) endif (NOT DESTDIR_VALUE) -- cgit v1.2.1 From 7216be1cbfb8cc8b95a6f632dd62cacfa15bdb75 Mon Sep 17 00:00:00 2001 From: Patrick Spendrin Date: Thu, 2 Jul 2009 16:00:31 +0000 Subject: use this for spaces in the path svn path=/trunk/KDE/kdelibs/; revision=990545 --- modules/FindSharedMimeInfo.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 707cb006..9b076a30 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -70,7 +70,7 @@ set(DESTDIR_VALUE \"\$ENV{DESTDIR}\") if (NOT DESTDIR_VALUE) # under Windows relative paths are used, that's why it runs from CMAKE_INSTALL_PREFIX execute_process(COMMAND ${UPDATE_MIME_DATABASE_EXECUTABLE} ${_xdgmimeDir} - WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}) + WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}\") endif (NOT DESTDIR_VALUE) ") endmacro (UPDATE_XDG_MIMETYPES) -- cgit v1.2.1 From 80aa9fd27790cd92664da486115cfbc484b0c989 Mon Sep 17 00:00:00 2001 From: Patrick Spendrin Date: Thu, 2 Jul 2009 16:11:54 +0000 Subject: it can work without backslashes of course too svn path=/trunk/KDE/kdelibs/; revision=990546 --- modules/FindSharedMimeInfo.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 9b076a30..8bb8365b 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -70,7 +70,7 @@ set(DESTDIR_VALUE \"\$ENV{DESTDIR}\") if (NOT DESTDIR_VALUE) # under Windows relative paths are used, that's why it runs from CMAKE_INSTALL_PREFIX execute_process(COMMAND ${UPDATE_MIME_DATABASE_EXECUTABLE} ${_xdgmimeDir} - WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}\") + WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}") endif (NOT DESTDIR_VALUE) ") endmacro (UPDATE_XDG_MIMETYPES) -- cgit v1.2.1 From 6f621faba414c1c0b0398a1a68194a451f545fc6 Mon Sep 17 00:00:00 2001 From: Patrick Spendrin Date: Thu, 2 Jul 2009 19:28:48 +0000 Subject: the backslashes are definitely needed svn path=/trunk/KDE/kdelibs/; revision=990592 --- modules/FindSharedMimeInfo.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 8bb8365b..9b076a30 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -70,7 +70,7 @@ set(DESTDIR_VALUE \"\$ENV{DESTDIR}\") if (NOT DESTDIR_VALUE) # under Windows relative paths are used, that's why it runs from CMAKE_INSTALL_PREFIX execute_process(COMMAND ${UPDATE_MIME_DATABASE_EXECUTABLE} ${_xdgmimeDir} - WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}") + WORKING_DIRECTORY \"${CMAKE_INSTALL_PREFIX}\") endif (NOT DESTDIR_VALUE) ") endmacro (UPDATE_XDG_MIMETYPES) -- cgit v1.2.1 From e66fc6893e745345c0cee1715ce9426d5ba8d739 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sun, 26 Sep 2010 09:32:10 +0000 Subject: -Use the new extended find_package_handle_standard_args() syntax for version checking -support the standard find_package() syntax for specifying the minimum version Alex svn path=/trunk/KDE/kdelibs/; revision=1179848 --- modules/FindSharedMimeInfo.cmake | 45 +++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 21 deletions(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 9b076a30..b1e1c3df 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -1,21 +1,34 @@ # - Try to find the shared-mime-info package # -# SHARED_MIME_INFO_MINIMUM_VERSION - Set this to the minimum version you need, default is 0.18 -# # 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 +# +# The minimum required version of SharedMimeInfo can be specified using the +# standard syntax, e.g. find_package(SharedMimeInfo 0.20) +# +# For backward compatibility, there is also the variable SHARED_MIME_INFO_MINIMUM_VERSION, +# which can be set to the minimum version you need, default is 0.18. +# +# When both are used, i.e. the version is set in the find_package() call and +# SHARED_MIME_INFO_MINIMUM_VERSION is set, the version specified in the find_package() +# call takes precedence. # Copyright (c) 2007, Pino Toscano, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# Support SHARED_MIME_INFO_MINIMUM_VERSION for compatibility: +if(NOT SharedMimeInfo_FIND_VERSION) + set(SharedMimeInfo_FIND_VERSION "${SHARED_MIME_INFO_MINIMUM_VERSION}") +endif(NOT SharedMimeInfo_FIND_VERSION) + # the minimum version of shared-mime-database we require -if (NOT SHARED_MIME_INFO_MINIMUM_VERSION) - set(SHARED_MIME_INFO_MINIMUM_VERSION "0.18") -endif (NOT SHARED_MIME_INFO_MINIMUM_VERSION) +if(NOT SharedMimeInfo_FIND_VERSION) + set(SharedMimeInfo_FIND_VERSION "0.18") +endif(NOT SharedMimeInfo_FIND_VERSION) if (UPDATE_MIME_DATABASE_EXECUTABLE) @@ -24,8 +37,6 @@ if (UPDATE_MIME_DATABASE_EXECUTABLE) else (UPDATE_MIME_DATABASE_EXECUTABLE) - include (MacroEnsureVersion) - find_program (UPDATE_MIME_DATABASE_EXECUTABLE NAMES update-mime-database) if (UPDATE_MIME_DATABASE_EXECUTABLE) @@ -37,20 +48,12 @@ else (UPDATE_MIME_DATABASE_EXECUTABLE) 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_version(${SHARED_MIME_INFO_MINIMUM_VERSION} ${smiVersion} _smiVersion_OK) - if (NOT _smiVersion_OK) - message(FATAL_ERROR "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. See http://freedesktop.org/wiki/Software/shared-mime-info.") - endif (SharedMimeInfo_FIND_REQUIRED) - endif (SHARED_MIME_INFO_FOUND) + # Use the new FPHSA() syntax: + include(FindPackageHandleStandardArgs.cmake) + find_package_handle_standard_args(SharedMimeInfo REQUIRED_VARS UPDATE_MIME_DATABASE_EXECUTABLE + VERSION_VAR smiVersion ) +# This should go into MacroLogFeature/FeatureSummary: +# message(FATAL_ERROR "Could NOT find shared-mime-info. See http://freedesktop.org/wiki/Software/shared-mime-info.") endif (UPDATE_MIME_DATABASE_EXECUTABLE) -- cgit v1.2.1 From 7d1332198f6df044a33697e5598b112de6fab2f6 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sun, 26 Sep 2010 09:37:18 +0000 Subject: -compatibility fixes Alex svn path=/trunk/KDE/kdelibs/; revision=1179850 --- modules/FindSharedMimeInfo.cmake | 44 ++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 24 deletions(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index b1e1c3df..f8db49c9 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -2,18 +2,19 @@ # # Once done this will define # -# SHARED_MIME_INFO_FOUND - system has the shared-mime-info package +# SHAREDMIMEINFO_FOUND - system has the shared-mime-info package # UPDATE_MIME_DATABASE_EXECUTABLE - the update-mime-database executable # # The minimum required version of SharedMimeInfo can be specified using the # standard syntax, e.g. find_package(SharedMimeInfo 0.20) # -# For backward compatibility, there is also the variable SHARED_MIME_INFO_MINIMUM_VERSION, -# which can be set to the minimum version you need, default is 0.18. -# -# When both are used, i.e. the version is set in the find_package() call and -# SHARED_MIME_INFO_MINIMUM_VERSION is set, the version specified in the find_package() -# call takes precedence. +# For backward compatiblity, the following two variables are also supported: +# SHARED_MIME_INFO_FOUND - same as SHAREDMIMEINFO_FOUND +# SHARED_MIME_INFO_MINIMUM_VERSION - set to the minimum version you need, default is 0.18. +# When both are used, i.e. the version is set in the find_package() call and +# SHARED_MIME_INFO_MINIMUM_VERSION is set, the version specified in the find_package() +# call takes precedence. + # Copyright (c) 2007, Pino Toscano, # @@ -30,32 +31,27 @@ if(NOT SharedMimeInfo_FIND_VERSION) set(SharedMimeInfo_FIND_VERSION "0.18") endif(NOT SharedMimeInfo_FIND_VERSION) -if (UPDATE_MIME_DATABASE_EXECUTABLE) - - # in cache already - set(SHARED_MIME_INFO_FOUND TRUE) +find_program (UPDATE_MIME_DATABASE_EXECUTABLE NAMES update-mime-database) -else (UPDATE_MIME_DATABASE_EXECUTABLE) +if (UPDATE_MIME_DATABASE_EXECUTABLE) - find_program (UPDATE_MIME_DATABASE_EXECUTABLE NAMES update-mime-database) + exec_program (${UPDATE_MIME_DATABASE_EXECUTABLE} ARGS -v RETURN_VALUE _null OUTPUT_VARIABLE _smiVersionRaw) - if (UPDATE_MIME_DATABASE_EXECUTABLE) + string(REGEX REPLACE "update-mime-database \\([a-zA-Z\\-]+\\) ([0-9]\\.[0-9]+).*" + "\\1" smiVersion "${_smiVersionRaw}") +endif (UPDATE_MIME_DATABASE_EXECUTABLE) - exec_program (${UPDATE_MIME_DATABASE_EXECUTABLE} ARGS -v RETURN_VALUE _null OUTPUT_VARIABLE _smiVersionRaw) +# Use the new FPHSA() syntax: +include(FindPackageHandleStandardArgs.cmake) +find_package_handle_standard_args(SharedMimeInfo REQUIRED_VARS UPDATE_MIME_DATABASE_EXECUTABLE + VERSION_VAR smiVersion ) - string(REGEX REPLACE "update-mime-database \\([a-zA-Z\\-]+\\) ([0-9]\\.[0-9]+).*" - "\\1" smiVersion "${_smiVersionRaw}") - set (SHARED_MIME_INFO_FOUND TRUE) - endif (UPDATE_MIME_DATABASE_EXECUTABLE) +# For backward compatiblity: +set(SHARED_MIME_INFO_FOUND ${SHAREDMIMEINFO_FOUND} ) - # Use the new FPHSA() syntax: - include(FindPackageHandleStandardArgs.cmake) - find_package_handle_standard_args(SharedMimeInfo REQUIRED_VARS UPDATE_MIME_DATABASE_EXECUTABLE - VERSION_VAR smiVersion ) # This should go into MacroLogFeature/FeatureSummary: # message(FATAL_ERROR "Could NOT find shared-mime-info. See http://freedesktop.org/wiki/Software/shared-mime-info.") -endif (UPDATE_MIME_DATABASE_EXECUTABLE) mark_as_advanced(UPDATE_MIME_DATABASE_EXECUTABLE) -- cgit v1.2.1 From 4a57569b4946963501aec7937bd4148d773c39bd Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sun, 26 Sep 2010 09:43:11 +0000 Subject: -store the version number of SharedMimeInfo in the cache, so we don't have to search for it everytime again Alex svn path=/trunk/KDE/kdelibs/; revision=1179854 --- modules/FindSharedMimeInfo.cmake | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index f8db49c9..fda55162 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -33,18 +33,21 @@ endif(NOT SharedMimeInfo_FIND_VERSION) find_program (UPDATE_MIME_DATABASE_EXECUTABLE NAMES update-mime-database) -if (UPDATE_MIME_DATABASE_EXECUTABLE) +# Store the version number in the cache, so we don't have to search the next time again: +if (UPDATE_MIME_DATABASE_EXECUTABLE AND NOT SHAREDMIMEINFO_VERSION) exec_program (${UPDATE_MIME_DATABASE_EXECUTABLE} ARGS -v RETURN_VALUE _null OUTPUT_VARIABLE _smiVersionRaw) string(REGEX REPLACE "update-mime-database \\([a-zA-Z\\-]+\\) ([0-9]\\.[0-9]+).*" "\\1" smiVersion "${_smiVersionRaw}") -endif (UPDATE_MIME_DATABASE_EXECUTABLE) + + set(SHAREDMIMEINFO_VERSION "${smiVersion}" CACHE STRING "Version number of SharedMimeInfo") +endif (UPDATE_MIME_DATABASE_EXECUTABLE AND NOT SHAREDMIMEINFO_VERSION) # Use the new FPHSA() syntax: include(FindPackageHandleStandardArgs.cmake) find_package_handle_standard_args(SharedMimeInfo REQUIRED_VARS UPDATE_MIME_DATABASE_EXECUTABLE - VERSION_VAR smiVersion ) + VERSION_VAR SHAREDMIMEINFO_VERSION ) # For backward compatiblity: set(SHARED_MIME_INFO_FOUND ${SHAREDMIMEINFO_FOUND} ) -- cgit v1.2.1 From d58ab713800cc3824ab5af1372613dd84b4eb6d3 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Sun, 26 Sep 2010 09:53:21 +0000 Subject: -FORCE the version number into the cache, so we get updated when necessary Alex svn path=/trunk/KDE/kdelibs/; revision=1179857 --- modules/FindSharedMimeInfo.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index fda55162..2082d9a2 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -41,7 +41,7 @@ if (UPDATE_MIME_DATABASE_EXECUTABLE AND NOT SHAREDMIMEINFO_VERSION) string(REGEX REPLACE "update-mime-database \\([a-zA-Z\\-]+\\) ([0-9]\\.[0-9]+).*" "\\1" smiVersion "${_smiVersionRaw}") - set(SHAREDMIMEINFO_VERSION "${smiVersion}" CACHE STRING "Version number of SharedMimeInfo") + set(SHAREDMIMEINFO_VERSION "${smiVersion}" CACHE STRING "Version number of SharedMimeInfo" FORCE) endif (UPDATE_MIME_DATABASE_EXECUTABLE AND NOT SHAREDMIMEINFO_VERSION) # Use the new FPHSA() syntax: -- cgit v1.2.1 From a79b5418e491a83ea758c04992aa4f65a033ee59 Mon Sep 17 00:00:00 2001 From: Christoph Feck Date: Sun, 26 Sep 2010 11:01:59 +0000 Subject: SVN_SILENT build svn path=/trunk/KDE/kdelibs/; revision=1179873 --- modules/FindSharedMimeInfo.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/FindSharedMimeInfo.cmake') diff --git a/modules/FindSharedMimeInfo.cmake b/modules/FindSharedMimeInfo.cmake index 2082d9a2..16e335d1 100644 --- a/modules/FindSharedMimeInfo.cmake +++ b/modules/FindSharedMimeInfo.cmake @@ -45,7 +45,7 @@ if (UPDATE_MIME_DATABASE_EXECUTABLE AND NOT SHAREDMIMEINFO_VERSION) endif (UPDATE_MIME_DATABASE_EXECUTABLE AND NOT SHAREDMIMEINFO_VERSION) # Use the new FPHSA() syntax: -include(FindPackageHandleStandardArgs.cmake) +include(FindPackageHandleStandardArgs) find_package_handle_standard_args(SharedMimeInfo REQUIRED_VARS UPDATE_MIME_DATABASE_EXECUTABLE VERSION_VAR SHAREDMIMEINFO_VERSION ) -- cgit v1.2.1