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)