Warning, /utilities/ark/plugins/libzipplugin/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 set(INSTALLED_LIBZIP_PLUGINS "")
0002 
0003 # not yet supported on freebsd
0004 try_compile(HAVE_CHRONO_CAST ${CMAKE_CURRENT_BINARY_DIR} SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/.test_chrono_cast.cpp)
0005 
0006 set(kerfuffle_libzip_SRCS libzipplugin.cpp ark_debug.cpp)
0007 
0008 ecm_qt_declare_logging_category(kerfuffle_libzip_SRCS
0009                                 HEADER ark_debug.h
0010                                 IDENTIFIER ARK
0011                                 CATEGORY_NAME ark.libzip DESCRIPTION "Ark Infozip plugin" EXPORT ARK)
0012 
0013 if(LibZip_VERSION VERSION_GREATER_EQUAL "1.8.0")
0014     set(ZIP_CM_ZSTD_JSON_LINE "\"Zstd\": \"Zstd\",")
0015     set(ZIP_CM_LZMA_JSON_LINE "\"LZMA\": \"LZMA\",")
0016     set(ZIP_CM_XZ_JSON_LINE "\"XZ\": \"XZ\",")
0017 endif()
0018 
0019 find_package(ZLIB REQUIRED)
0020 set_package_properties(ZLIB PROPERTIES
0021                        URL "https://www.zlib.net/"
0022                        DESCRIPTION "The Zlib compression library"
0023                        PURPOSE "Required for integrity check in libzip plugin")
0024 
0025 configure_file(
0026     ${CMAKE_CURRENT_SOURCE_DIR}/kerfuffle_libzip.json.cmake
0027     ${CMAKE_CURRENT_BINARY_DIR}/kerfuffle_libzip.json)
0028 
0029 kerfuffle_parse_json_mimetypes(${CMAKE_CURRENT_BINARY_DIR}/kerfuffle_libzip.json)
0030 set(SUPPORTED_ARK_MIMETYPES "${SUPPORTED_ARK_MIMETYPES}${PLUGIN_SUPPORTED_MIMETYPES}" PARENT_SCOPE)
0031 
0032 kerfuffle_add_plugin(kerfuffle_libzip ${kerfuffle_libzip_SRCS})
0033 
0034 if (HAVE_CHRONO_CAST)
0035     target_compile_definitions(kerfuffle_libzip PRIVATE HAVE_CHRONO_CAST=1)
0036 else()
0037     target_compile_definitions(kerfuffle_libzip PRIVATE HAVE_CHRONO_CAST=0)
0038 endif()
0039 
0040 target_link_libraries(kerfuffle_libzip KF6::KIOCore LibZip::LibZip ZLIB::ZLIB)
0041 
0042 set(INSTALLED_LIBZIP_PLUGINS "${INSTALLED_LIBZIP_PLUGINS}kerfuffle_libzip;")
0043 
0044 set(INSTALLED_KERFUFFLE_PLUGINS "${INSTALLED_KERFUFFLE_PLUGINS}${INSTALLED_LIBZIP_PLUGINS}" PARENT_SCOPE)