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 set(deprecated_HEADER_NAMES)
0011 
0012 add_library(KF5Archive)
0013 add_library(KF5::Archive ALIAS KF5Archive)
0014 
0015 ecm_create_qm_loader(KF5Archive karchive5_qt)
0016 
0017 if(BZIP2_FOUND)
0018     target_sources(KF5Archive PRIVATE kbzip2filter.cpp)
0019     target_link_libraries(KF5Archive PRIVATE BZip2::BZip2)
0020 endif()
0021 
0022 if(LIBLZMA_FOUND)
0023     target_sources(KF5Archive PRIVATE kxzfilter.cpp k7zip.cpp)
0024     target_link_libraries(KF5Archive PRIVATE LibLZMA::LibLZMA)
0025 endif()
0026 
0027 if (LibZstd_FOUND)
0028     target_sources(KF5Archive PRIVATE kzstdfilter.cpp)
0029     target_link_libraries(KF5Archive PRIVATE PkgConfig::LibZstd)
0030 endif()
0031 
0032 
0033 target_sources(KF5Archive PRIVATE karchive.cpp
0034     kar.cpp
0035     kcompressiondevice.cpp
0036     kfilterbase.cpp
0037     kgzipfilter.cpp
0038     klimitediodevice.cpp
0039     knonefilter.cpp
0040     ktar.cpp
0041     kzip.cpp
0042     krcc.cpp
0043 )
0044 
0045 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND
0046    EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.85.0)
0047     list(APPEND deprecated_HEADER_NAMES KFilterDev)
0048     target_sources(KF5Archive PRIVATE kfilterdev.cpp)
0049 endif()
0050 
0051 ecm_qt_declare_logging_category(KF5Archive
0052     HEADER loggingcategory.h
0053     IDENTIFIER KArchiveLog
0054     CATEGORY_NAME kf.archive
0055     OLD_CATEGORY_NAMES kf5.karchive
0056     DEFAULT_SEVERITY Warning
0057     DESCRIPTION "KArchive"
0058     EXPORT KARCHIVE
0059 )
0060 
0061 ecm_generate_export_header(KF5Archive
0062     BASE_NAME KArchive
0063     GROUP_BASE_NAME KF
0064     VERSION ${KF_VERSION}
0065     DEPRECATED_BASE_VERSION 0
0066     DEPRECATION_VERSIONS 5.0 5.85
0067     EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0068 )
0069 
0070 target_include_directories(KF5Archive
0071     INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KArchive>"
0072 )
0073 
0074 target_link_libraries(KF5Archive
0075     PUBLIC
0076         Qt${QT_MAJOR_VERSION}::Core
0077     PRIVATE
0078         ZLIB::ZLIB
0079 )
0080 
0081 set_target_properties(KF5Archive PROPERTIES
0082     VERSION     ${KARCHIVE_VERSION}
0083     SOVERSION   ${KARCHIVE_SOVERSION}
0084     EXPORT_NAME "Archive"
0085 )
0086 
0087 ecm_generate_headers(KArchive_HEADERS
0088     HEADER_NAMES
0089     KArchive
0090     KArchiveEntry
0091     KArchiveFile
0092     KArchiveDirectory
0093     KAr
0094     KCompressionDevice
0095     KFilterBase
0096     KRcc
0097     KTar
0098     KZip
0099     KZipFileEntry
0100     ${deprecated_HEADER_NAMES}
0101 
0102     REQUIRED_HEADERS KArchive_HEADERS
0103 )
0104 
0105 install(TARGETS KF5Archive
0106         EXPORT KF5ArchiveTargets
0107         ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0108 
0109 if(LIBLZMA_FOUND)
0110     ecm_generate_headers(KArchive_HEADERS
0111         HEADER_NAMES
0112         K7Zip
0113         REQUIRED_HEADERS KArchive_HEADERS
0114     )
0115 endif()
0116 
0117 install(FILES
0118             ${CMAKE_CURRENT_BINARY_DIR}/karchive_export.h
0119             ${KArchive_HEADERS}
0120         DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KArchive
0121         COMPONENT Devel)
0122 
0123 ecm_qt_install_logging_categories(
0124     EXPORT KARCHIVE
0125     FILE karchive.categories
0126     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0127 )
0128 
0129 if(BUILD_QCH)
0130     ecm_add_qch(
0131         KF5Archive_QCH
0132         NAME KArchive
0133         BASE_NAME KF5Archive
0134         VERSION ${KF_VERSION}
0135         ORG_DOMAIN org.kde
0136         SOURCES # using only public headers, to cover only public API
0137             ${KArchive_HEADERS}
0138         MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0139         LINK_QCHS
0140             Qt5Core_QCH
0141         INCLUDE_DIRS
0142             ${CMAKE_CURRENT_BINARY_DIR}
0143         BLANK_MACROS
0144             KARCHIVE_EXPORT
0145             KARCHIVE_DEPRECATED
0146             "KARCHIVE_DEPRECATED_VERSION(x, y, t)"
0147         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0148         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0149         COMPONENT Devel
0150     )
0151 endif()
0152 
0153 include(ECMGeneratePriFile)
0154 ecm_generate_pri_file(BASE_NAME KArchive LIB_NAME KF5Archive DEPS "core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KArchive)
0155 install(FILES ${PRI_FILENAME}
0156         DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
0157