Warning, /frameworks/karchive/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 set(HAVE_BZIP2_SUPPORT ${BZIP2_FOUND})
0002 if(BZIP2_FOUND AND BZIP2_NEED_PREFIX)
0003 set(NEED_BZ2_PREFIX 1)
0004 endif()
0005
0006 set(HAVE_XZ_SUPPORT ${LIBLZMA_FOUND})
0007 set(HAVE_ZSTD_SUPPORT ${LibZstd_FOUND})
0008
0009 configure_file(config-compression.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-compression.h)
0010
0011 add_library(KF6Archive)
0012 add_library(KF6::Archive ALIAS KF6Archive)
0013
0014 set_target_properties(KF6Archive PROPERTIES
0015 VERSION ${KARCHIVE_VERSION}
0016 SOVERSION ${KARCHIVE_SOVERSION}
0017 EXPORT_NAME "Archive"
0018 )
0019
0020 ecm_create_qm_loader(KF6Archive karchive6_qt)
0021
0022 if(BZIP2_FOUND)
0023 target_sources(KF6Archive PRIVATE kbzip2filter.cpp)
0024 target_link_libraries(KF6Archive PRIVATE BZip2::BZip2)
0025 endif()
0026
0027 if(LIBLZMA_FOUND)
0028 target_sources(KF6Archive PRIVATE kxzfilter.cpp k7zip.cpp)
0029 target_link_libraries(KF6Archive PRIVATE LibLZMA::LibLZMA)
0030 endif()
0031
0032 if (LibZstd_FOUND)
0033 target_sources(KF6Archive PRIVATE kzstdfilter.cpp)
0034 target_link_libraries(KF6Archive PRIVATE PkgConfig::LibZstd)
0035 endif()
0036
0037
0038 target_sources(KF6Archive PRIVATE karchive.cpp
0039 kar.cpp
0040 kcompressiondevice.cpp
0041 kfilterbase.cpp
0042 kgzipfilter.cpp
0043 klimitediodevice.cpp
0044 knonefilter.cpp
0045 ktar.cpp
0046 kzip.cpp
0047 krcc.cpp
0048 )
0049
0050 ecm_qt_declare_logging_category(KF6Archive
0051 HEADER loggingcategory.h
0052 IDENTIFIER KArchiveLog
0053 CATEGORY_NAME kf.archive
0054 OLD_CATEGORY_NAMES kf5.karchive
0055 DEFAULT_SEVERITY Warning
0056 DESCRIPTION "KArchive"
0057 EXPORT KARCHIVE
0058 )
0059
0060 ecm_generate_export_header(KF6Archive
0061 BASE_NAME KArchive
0062 GROUP_BASE_NAME KF
0063 VERSION ${KF_VERSION}
0064 USE_VERSION_HEADER
0065 DEPRECATED_BASE_VERSION 0
0066 DEPRECATION_VERSIONS
0067 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0068 )
0069
0070 target_include_directories(KF6Archive
0071 INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KArchive>"
0072 )
0073
0074 target_link_libraries(KF6Archive
0075 PUBLIC
0076 Qt6::Core
0077 PRIVATE
0078 ZLIB::ZLIB
0079 )
0080
0081 ecm_generate_headers(KArchive_HEADERS
0082 HEADER_NAMES
0083 KArchive
0084 KArchiveEntry
0085 KArchiveFile
0086 KArchiveDirectory
0087 KAr
0088 KCompressionDevice
0089 KFilterBase
0090 KRcc
0091 KTar
0092 KZip
0093 KZipFileEntry
0094
0095 REQUIRED_HEADERS KArchive_HEADERS
0096 )
0097
0098 install(TARGETS KF6Archive
0099 EXPORT KF6ArchiveTargets
0100 ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0101
0102 if(LIBLZMA_FOUND)
0103 ecm_generate_headers(KArchive_HEADERS
0104 HEADER_NAMES
0105 K7Zip
0106 REQUIRED_HEADERS KArchive_HEADERS
0107 )
0108 endif()
0109
0110 install(FILES
0111 ${CMAKE_CURRENT_BINARY_DIR}/karchive_export.h
0112 ${KArchive_HEADERS}
0113 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KArchive
0114 COMPONENT Devel)
0115
0116 ecm_qt_install_logging_categories(
0117 EXPORT KARCHIVE
0118 FILE karchive.categories
0119 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0120 )
0121
0122 if(BUILD_QCH)
0123 ecm_add_qch(
0124 KF6Archive_QCH
0125 NAME KArchive
0126 BASE_NAME KF6Archive
0127 VERSION ${KF_VERSION}
0128 ORG_DOMAIN org.kde
0129 SOURCES # using only public headers, to cover only public API
0130 ${KArchive_HEADERS}
0131 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0132 LINK_QCHS
0133 Qt6Core_QCH
0134 INCLUDE_DIRS
0135 ${CMAKE_CURRENT_BINARY_DIR}
0136 BLANK_MACROS
0137 KARCHIVE_EXPORT
0138 KARCHIVE_DEPRECATED
0139 "KARCHIVE_DEPRECATED_VERSION(x, y, t)"
0140 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0141 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0142 COMPONENT Devel
0143 )
0144 endif()
0145