Warning, /frameworks/kcodecs/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_library(KF6Codecs) 0002 add_library(KF6::Codecs ALIAS KF6Codecs) 0003 0004 set_target_properties(KF6Codecs PROPERTIES 0005 VERSION ${KCODECS_VERSION} 0006 SOVERSION ${KCODECS_SOVERSION} 0007 EXPORT_NAME Codecs 0008 # gperf < 3.1 always adds a "register" keyword to function arguments, 0009 # which itself is removed from C++17, 0010 # so sources including the generated header need to use C++14 only. 0011 # Only kcharsets.cpp is affected, but right now nothing else needs C++17, 0012 # so simply set standard for the while library 0013 # Current version of FindGperf in ECM does not support a version check yet, 0014 # so for now always lower to C++14. 0015 CXX_STANDARD 14 0016 ) 0017 0018 ecm_create_qm_loader(KF6Codecs kcodecs6_qt) 0019 0020 ecm_gperf_generate(kentities.gperf ${CMAKE_CURRENT_BINARY_DIR}/kentities.h KF6Codecs 0021 GENERATION_FLAGS "--key-positions=* -D -s 2") 0022 0023 target_sources(KF6Codecs PRIVATE 0024 kcharsets.cpp 0025 kcharsets.h 0026 kcodecsbase45.cpp 0027 kcodecsbase64.cpp 0028 kcodecsbase64.h 0029 kcodecs.cpp 0030 kcodecs.h 0031 kcodecs_p.h 0032 kcodecsqp.cpp 0033 kcodecsqp.h 0034 kcodecsuuencode.cpp 0035 kcodecsuuencode.h 0036 kemailaddress.cpp 0037 kemailaddress.h 0038 kencodingprober.cpp 0039 kencodingprober.h 0040 probers/CharDistribution.cpp 0041 probers/CharDistribution.h 0042 probers/ChineseGroupProber.cpp 0043 probers/ChineseGroupProber.h 0044 probers/JapaneseGroupProber.cpp 0045 probers/JapaneseGroupProber.h 0046 probers/JpCntx.cpp 0047 probers/JpCntx.h 0048 probers/LangBulgarianModel.cpp 0049 probers/LangCyrillicModel.cpp 0050 probers/LangGreekModel.cpp 0051 probers/LangHebrewModel.cpp 0052 probers/LangHungarianModel.cpp 0053 probers/LangThaiModel.cpp 0054 probers/nsBig5Prober.cpp 0055 probers/nsBig5Prober.h 0056 probers/nsCharSetProber.cpp 0057 probers/nsCharSetProber.h 0058 probers/nsCodingStateMachine.h 0059 probers/nsEscCharsetProber.cpp 0060 probers/nsEscCharsetProber.h 0061 probers/nsEscSM.cpp 0062 probers/nsEUCJPProber.cpp 0063 probers/nsEUCJPProber.h 0064 probers/nsEUCKRProber.cpp 0065 probers/nsEUCKRProber.h 0066 probers/nsGB2312Prober.cpp 0067 probers/nsGB2312Prober.h 0068 probers/nsHebrewProber.cpp 0069 probers/nsHebrewProber.h 0070 probers/nsLatin1Prober.cpp 0071 probers/nsLatin1Prober.h 0072 probers/nsMBCSGroupProber.cpp 0073 probers/nsMBCSGroupProber.h 0074 probers/nsMBCSSM.cpp 0075 probers/nsPkgInt.h 0076 probers/nsSBCharSetProber.cpp 0077 probers/nsSBCharSetProber.h 0078 probers/nsSBCSGroupProber.cpp 0079 probers/nsSBCSGroupProber.h 0080 probers/nsSJISProber.cpp 0081 probers/nsSJISProber.h 0082 probers/nsUniversalDetector.cpp 0083 probers/nsUniversalDetector.h 0084 probers/UnicodeGroupProber.cpp 0085 probers/UnicodeGroupProber.h 0086 ) 0087 0088 ecm_qt_declare_logging_category(KF6Codecs 0089 HEADER kcodecs_debug.h 0090 IDENTIFIER KCODECS_LOG 0091 CATEGORY_NAME kf.codecs 0092 OLD_CATEGORY_NAMES kf5.kcodecs 0093 DESCRIPTION "KCodecs" 0094 EXPORT KCODECS 0095 ) 0096 0097 ecm_generate_export_header(KF6Codecs 0098 BASE_NAME KCodecs 0099 GROUP_BASE_NAME KF 0100 VERSION ${KF_VERSION} 0101 USE_VERSION_HEADER 0102 DEPRECATED_BASE_VERSION 0 0103 DEPRECATION_VERSIONS 0104 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} 0105 ) 0106 0107 target_include_directories(KF6Codecs INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KCodecs>") 0108 0109 target_link_libraries(KF6Codecs PUBLIC Qt6::Core) 0110 0111 ecm_generate_headers(KCodecs_HEADERS 0112 HEADER_NAMES 0113 KCharsets 0114 KCodecs 0115 KEncodingProber 0116 KEmailAddress 0117 REQUIRED_HEADERS KCodecs_HEADERS 0118 ) 0119 0120 install(TARGETS KF6Codecs EXPORT KF6CodecsTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0121 0122 install(FILES 0123 ${CMAKE_CURRENT_BINARY_DIR}/kcodecs_export.h 0124 ${KCodecs_HEADERS} 0125 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KCodecs COMPONENT Devel 0126 ) 0127 0128 ecm_qt_install_logging_categories( 0129 EXPORT KCODECS 0130 FILE kcodecs.categories 0131 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0132 ) 0133 0134 if(BUILD_QCH) 0135 ecm_add_qch( 0136 KF6Codecs_QCH 0137 NAME KCodecs 0138 BASE_NAME KF6Codecs 0139 VERSION ${KF_VERSION} 0140 ORG_DOMAIN org.kde 0141 SOURCES # using only public headers, to cover only public API 0142 ${KCodecs_HEADERS} 0143 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" 0144 LINK_QCHS 0145 Qt6Core_QCH 0146 INCLUDE_DIRS 0147 ${CMAKE_CURRENT_BINARY_DIR} 0148 BLANK_MACROS 0149 KCODECS_EXPORT 0150 KCODECS_DEPRECATED 0151 KCODECS_DEPRECATED_EXPORT 0152 "KCODECS_DEPRECATED_VERSION(x, y, t)" 0153 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0154 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0155 COMPONENT Devel 0156 ) 0157 endif() 0158