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