Warning, /utilities/ark/plugins/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 function(kerfuffle_add_plugin plugin) 0002 kcoreaddons_add_plugin(${plugin} 0003 SOURCES ${ARGN} 0004 INSTALL_NAMESPACE kerfuffle) 0005 target_link_libraries(${plugin} kerfuffle) 0006 endfunction() 0007 0008 # Utility function that parses the 'MimeTypes' JSON array defined inside the plugin JSON metadata. 0009 # Inputs: 0010 # - PLUGIN_JSON_FILEPATH: the absolute path of the plugin JSON metadata file 0011 # Outputs: 0012 # - PLUGIN_SUPPORTED_MIMETYPES is a list with all the mimetypes parsed from the JSON file. 0013 function(kerfuffle_parse_json_mimetypes PLUGIN_JSON_FILEPATH) 0014 file(READ ${PLUGIN_JSON_FILEPATH} PLUGIN_JSON_METADATA) 0015 string(JSON KPLUGIN_JSON_OBJECT GET ${PLUGIN_JSON_METADATA} KPlugin) 0016 string(JSON MIMETYPES_JSON_ARRAY GET ${KPLUGIN_JSON_OBJECT} MimeTypes) 0017 string(JSON MIMETYPES_COUNT LENGTH ${MIMETYPES_JSON_ARRAY}) 0018 math(EXPR MIMETYPES_RANGE "${MIMETYPES_COUNT} - 1") 0019 foreach(INDEX RANGE ${MIMETYPES_RANGE}) 0020 string(JSON CURRENT_MIMETYPE GET ${MIMETYPES_JSON_ARRAY} ${INDEX}) 0021 list(APPEND PARSED_MIMETYPES ${CURRENT_MIMETYPE}) 0022 endforeach() 0023 # NOTE: need to manually add trailing semicolon because cmake doesn't do it. 0024 set(PLUGIN_SUPPORTED_MIMETYPES "${PARSED_MIMETYPES};" PARENT_SCOPE) 0025 endfunction() 0026 0027 add_subdirectory( libarchive ) 0028 add_subdirectory( clirarplugin ) 0029 add_subdirectory( cli7zplugin ) 0030 add_subdirectory( clizipplugin ) 0031 add_subdirectory(cliunarchiverplugin) 0032 if(LibZip_FOUND) 0033 add_subdirectory(libzipplugin) 0034 endif(LibZip_FOUND) 0035 add_subdirectory( cliarjplugin ) 0036 0037 set(SUPPORTED_ARK_MIMETYPES "${SUPPORTED_ARK_MIMETYPES}" PARENT_SCOPE) 0038 set(INSTALLED_KERFUFFLE_PLUGINS "${INSTALLED_KERFUFFLE_PLUGINS}" PARENT_SCOPE)