Warning, /frameworks/extra-cmake-modules/find-modules/FindSharedMimeInfo.cmake is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2013-2014 Alex Merry <alex.merry@kdemail.net> 0002 # SPDX-FileCopyrightText: 2007 Pino Toscano <toscano.pino@tiscali.it> 0003 # 0004 # SPDX-License-Identifier: BSD-3-Clause 0005 0006 #[=======================================================================[.rst: 0007 FindSharedMimeInfo 0008 ------------------ 0009 0010 Try to find the shared-mime-info package. 0011 0012 This will define the following variables: 0013 0014 ``SharedMimeInfo_FOUND`` 0015 True if system has the shared-mime-info package 0016 ``UPDATE_MIME_DATABASE_EXECUTABLE`` 0017 The update-mime-database executable 0018 0019 and the following imported targets: 0020 0021 ``SharedMimeInfo::UpdateMimeDatabase`` 0022 The update-mime-database executable 0023 0024 The follow macro is available:: 0025 0026 update_xdg_mimetypes(<path>) 0027 0028 Updates the XDG mime database at install time (unless the ``$DESTDIR`` 0029 environment variable is set, in which case it is up to package managers to 0030 perform this task). 0031 0032 Since pre-1.0.0. 0033 #]=======================================================================] 0034 0035 include(${CMAKE_CURRENT_LIST_DIR}/ECMFindModuleHelpersStub.cmake) 0036 0037 ecm_find_package_version_check(SharedMimeInfo) 0038 0039 find_program (UPDATE_MIME_DATABASE_EXECUTABLE NAMES update-mime-database) 0040 0041 if (UPDATE_MIME_DATABASE_EXECUTABLE) 0042 execute_process( 0043 COMMAND "${UPDATE_MIME_DATABASE_EXECUTABLE}" -v 0044 OUTPUT_VARIABLE _smiVersionRaw 0045 ERROR_VARIABLE _smiVersionRaw) 0046 0047 string(REGEX REPLACE "update-mime-database \\([a-zA-Z\\-]+\\) ([0-9]\\.[0-9]+).*" 0048 "\\1" SharedMimeInfo_VERSION_STRING "${_smiVersionRaw}") 0049 endif() 0050 0051 include(FindPackageHandleStandardArgs) 0052 find_package_handle_standard_args(SharedMimeInfo 0053 FOUND_VAR 0054 SharedMimeInfo_FOUND 0055 REQUIRED_VARS 0056 UPDATE_MIME_DATABASE_EXECUTABLE 0057 VERSION_VAR 0058 SharedMimeInfo_VERSION_STRING) 0059 0060 if(SharedMimeInfo_FOUND AND NOT TARGET SharedMimeInfo::UpdateMimeDatabase) 0061 add_executable(SharedMimeInfo::UpdateMimeDatabase IMPORTED) 0062 set_target_properties(SharedMimeInfo::UpdateMimeDatabase PROPERTIES 0063 IMPORTED_LOCATION "${UPDATE_MIME_DATABASE_EXECUTABLE}" 0064 ) 0065 endif() 0066 0067 mark_as_advanced(UPDATE_MIME_DATABASE_EXECUTABLE) 0068 0069 function(UPDATE_XDG_MIMETYPES _path) 0070 get_filename_component(_xdgmimeDir "${_path}" NAME) 0071 if("${_xdgmimeDir}" STREQUAL packages ) 0072 get_filename_component(_xdgmimeDir "${_path}" PATH) 0073 else() 0074 set(_xdgmimeDir "${_path}") 0075 endif() 0076 0077 # Note that targets and most variables are not available to install code 0078 install(CODE " 0079 set(DESTDIR_VALUE \"\$ENV{DESTDIR}\") 0080 if (NOT DESTDIR_VALUE) 0081 # under Windows relative paths are used, that's why it runs from CMAKE_INSTALL_PREFIX 0082 message(STATUS \"Updating MIME database at \${CMAKE_INSTALL_PREFIX}/${_xdgmimeDir}\") 0083 execute_process(COMMAND \"${UPDATE_MIME_DATABASE_EXECUTABLE}\" -n \"${_xdgmimeDir}\" 0084 WORKING_DIRECTORY \"\${CMAKE_INSTALL_PREFIX}\") 0085 endif (NOT DESTDIR_VALUE) 0086 ") 0087 endfunction() 0088 0089 include(FeatureSummary) 0090 set_package_properties(SharedMimeInfo PROPERTIES 0091 URL https://freedesktop.org/wiki/Software/shared-mime-info/ 0092 DESCRIPTION "A database of common MIME types")