Warning, /pim/libkleo/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-License-Identifier: CC0-1.0 0002 # SPDX-FileCopyrightText: none 0003 # target_include_directories does not handle empty include paths 0004 include_directories( 0005 ${Boost_INCLUDE_DIRS} 0006 ${GPGME_INCLUDES} 0007 ) 0008 add_definitions(-DTRANSLATION_DOMAIN=\"libkleopatra6\") 0009 0010 #add_definitions( -DQT_NO_CAST_FROM_ASCII ) 0011 #add_definitions( -DQT_NO_CAST_TO_ASCII ) 0012 0013 kde_enable_exceptions() 0014 0015 add_definitions( -DGPGMEPP_ERR_SOURCE_DEFAULT=13 ) # 13 is GPG_ERR_SOURCE_KLEO, even if gpg-error's too old to know about 0016 0017 add_subdirectory( pics ) 0018 add_library(KPim6Libkleo) 0019 add_library(KPim6::Libkleo ALIAS KPim6Libkleo) 0020 0021 ########### next target ############### 0022 target_sources(KPim6Libkleo PRIVATE 0023 kleo/auditlogentry.cpp 0024 kleo/auditlogentry.h 0025 kleo/checksumdefinition.cpp 0026 kleo/checksumdefinition.h 0027 kleo/debug.cpp 0028 kleo/debug.h 0029 kleo/defaultkeyfilter.cpp 0030 kleo/defaultkeyfilter.h 0031 kleo/defaultkeygenerationjob.cpp 0032 kleo/defaultkeygenerationjob.h 0033 kleo/docaction.cpp kleo/docaction.h 0034 kleo/dn.cpp 0035 kleo/dn.h 0036 kleo/enum.cpp 0037 kleo/enum.h 0038 kleo/expirychecker.cpp 0039 kleo/expirychecker.h 0040 kleo/expirycheckerconfig.cpp 0041 kleo/expirycheckerconfig.h 0042 kleo/expirycheckersettings.cpp 0043 kleo/expirycheckersettings.h 0044 kleo/kconfigbasedkeyfilter.cpp 0045 kleo/kconfigbasedkeyfilter.h 0046 kleo/keyfilter.h 0047 kleo/keyfiltermanager.cpp 0048 kleo/keyfiltermanager.h 0049 kleo/keygroup.cpp 0050 kleo/keygroup.h 0051 kleo/keygroupconfig.cpp 0052 kleo/keygroupconfig.h 0053 kleo/keygroupimportexport.cpp 0054 kleo/keygroupimportexport.h 0055 kleo/keyresolver.cpp 0056 kleo/keyresolver.h 0057 kleo/keyresolvercore.cpp 0058 kleo/keyresolvercore.h 0059 kleo/keyserverconfig.cpp 0060 kleo/keyserverconfig.h 0061 kleo/kleoexception.cpp 0062 kleo/kleoexception.h 0063 kleo/oidmap.cpp 0064 kleo/oidmap.h 0065 kleo/predicates.h 0066 kleo/stl_util.h 0067 models/keycache.cpp 0068 models/keycache.h 0069 models/keycache_p.h 0070 models/keylist.h 0071 models/keylistmodel.cpp 0072 models/keylistmodel.h 0073 models/keylistmodelinterface.cpp 0074 models/keylistmodelinterface.h 0075 models/keylistsortfilterproxymodel.cpp 0076 models/keylistsortfilterproxymodel.h 0077 models/keyrearrangecolumnsproxymodel.cpp 0078 models/keyrearrangecolumnsproxymodel.h 0079 models/subkeylistmodel.cpp 0080 models/subkeylistmodel.h 0081 models/useridlistmodel.cpp 0082 models/useridlistmodel.h 0083 models/useridproxymodel.cpp 0084 models/useridproxymodel.h 0085 utils/algorithm.h 0086 utils/assuan.cpp 0087 utils/assuan.h 0088 utils/chrono.h 0089 utils/classify.cpp 0090 utils/classify.h 0091 utils/compat.cpp 0092 utils/compat.h 0093 utils/compliance.cpp 0094 utils/compliance.h 0095 utils/cryptoconfig.cpp 0096 utils/cryptoconfig.h 0097 utils/cryptoconfig_p.h 0098 utils/filesystemwatcher.cpp 0099 utils/filesystemwatcher.h 0100 utils/formatting.cpp 0101 utils/formatting.h 0102 utils/gnupg-registry.c 0103 utils/gnupg-registry.h 0104 utils/gnupg.cpp 0105 utils/gnupg.h 0106 utils/hex.cpp 0107 utils/hex.h 0108 utils/keyhelpers.cpp 0109 utils/keyhelpers.h 0110 utils/keyusage.h 0111 utils/qtstlhelpers.cpp 0112 utils/qtstlhelpers.h 0113 utils/scdaemon.cpp 0114 utils/scdaemon.h 0115 utils/stringutils.cpp 0116 utils/stringutils.h 0117 utils/systeminfo.cpp 0118 utils/systeminfo.h 0119 utils/test.cpp 0120 utils/test.h 0121 utils/uniquelock.cpp 0122 utils/uniquelock.h 0123 ) 0124 ecm_qt_declare_logging_category(KPim6Libkleo HEADER libkleo_debug.h IDENTIFIER LIBKLEO_LOG CATEGORY_NAME org.kde.pim.libkleo 0125 DESCRIPTION "libkleo (kleo_core)" 0126 EXPORT LIBKLEO 0127 ) 0128 0129 0130 target_sources(KPim6Libkleo PRIVATE 0131 ui/adjustingscrollarea.cpp 0132 ui/adjustingscrollarea.h 0133 ui/auditlogviewer.cpp 0134 ui/auditlogviewer.h 0135 ui/cryptoconfigentryreaderport.cpp 0136 ui/cryptoconfigentryreaderport_p.h 0137 ui/cryptoconfigmodule.cpp 0138 ui/cryptoconfigmodule.h 0139 ui/cryptoconfigmodule_p.h 0140 ui/directoryserviceswidget.cpp 0141 ui/directoryserviceswidget.h 0142 ui/dnattributeorderconfigwidget.cpp 0143 ui/dnattributeorderconfigwidget.h 0144 ui/editdirectoryservicedialog.cpp 0145 ui/editdirectoryservicedialog.h 0146 ui/filenamerequester.cpp 0147 ui/filenamerequester.h 0148 ui/messagebox.cpp 0149 ui/messagebox.h 0150 ui/treeview.cpp 0151 ui/treeview.h 0152 ui/treewidget.cpp 0153 ui/treewidget.h 0154 ui/progressbar.cpp 0155 ui/progressbar.h 0156 ui/progressdialog.cpp 0157 ui/progressdialog.h 0158 ui/readerportselection.cpp 0159 ui/readerportselection.h 0160 ) 0161 0162 ecm_qt_declare_logging_category(KPim6Libkleo HEADER kleo_ui_debug.h IDENTIFIER KLEO_UI_LOG CATEGORY_NAME org.kde.pim.kleo_ui 0163 DESCRIPTION "libkleo (kleo_ui)" 0164 OLD_CATEGORY_NAMES log_kleo_ui 0165 EXPORT LIBKLEO 0166 ) 0167 0168 0169 target_sources(KPim6Libkleo PRIVATE # make this a separate lib. 0170 ui/keyapprovaldialog.cpp 0171 ui/keyapprovaldialog.h 0172 ui/keylistview.cpp 0173 ui/keylistview.h 0174 ui/keyrequester.cpp 0175 ui/keyrequester.h 0176 ui/keyselectioncombo.cpp 0177 ui/keyselectioncombo.h 0178 ui/keyselectiondialog.cpp 0179 ui/keyselectiondialog.h 0180 ui/newkeyapprovaldialog.cpp 0181 ui/newkeyapprovaldialog.h 0182 ui/useridselectioncombo.cpp 0183 ui/useridselectioncombo.h 0184 ) 0185 0186 if(MINGW) 0187 # we do not care about different signedness of passed pointer arguments 0188 set_source_files_properties(utils/gnupg-registry.c PROPERTIES COMPILE_OPTIONS "-Wno-pointer-sign") 0189 endif() 0190 0191 target_link_libraries(KPim6Libkleo PUBLIC Gpgmepp PRIVATE Qt::Widgets 0192 KF6::I18n 0193 KF6::Completion 0194 KF6::ConfigCore 0195 KF6::ColorScheme 0196 KF6::ConfigGui 0197 KF6::CoreAddons 0198 KF6::WidgetsAddons 0199 KF6::ItemModels 0200 KF6::Codecs 0201 LibGpgError::LibGpgError) 0202 0203 target_link_libraries(KPim6Libkleo PUBLIC QGpgmeQt6) 0204 # Boost::headers may not be available for old versions of Boost 0205 if (TARGET Boost::headers) 0206 target_link_libraries(KPim6Libkleo PRIVATE Boost::headers) 0207 endif() 0208 0209 if (TARGET KF6::TextCustomEditor) 0210 add_definitions(-DHAVE_PIMTEXTEDIT) 0211 target_link_libraries(KPim6Libkleo PRIVATE KF6::TextCustomEditor) 0212 endif() 0213 0214 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT) 0215 set_target_properties(KPim6Libkleo PROPERTIES UNITY_BUILD ON) 0216 endif() 0217 0218 ecm_generate_export_header(KPim6Libkleo 0219 BASE_NAME kleo 0220 VERSION ${PIM_VERSION} 0221 DEPRECATED_BASE_VERSION 0 0222 DEPRECATION_VERSIONS 5.23 0223 ) 0224 0225 if(WIN32) 0226 target_link_libraries(KPim6Libkleo ${GPGME_VANILLA_LIBRARIES} ) 0227 endif() 0228 0229 set_target_properties(KPim6Libkleo PROPERTIES 0230 VERSION ${LIBKLEO_VERSION} 0231 SOVERSION ${LIBKLEO_SOVERSION} 0232 EXPORT_NAME Libkleo 0233 ) 0234 0235 install(TARGETS 0236 KPim6Libkleo 0237 EXPORT KPim6LibkleoTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} 0238 ) 0239 0240 target_include_directories(KPim6Libkleo INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/Libkleo>") 0241 target_include_directories(KPim6Libkleo PUBLIC "$<BUILD_INTERFACE:${libkleo_SOURCE_DIR}/src;${libkleo_BINARY_DIR}/src>") 0242 0243 ecm_generate_headers(libkleo_CamelCase_HEADERS 0244 HEADER_NAMES 0245 AuditLogEntry 0246 ChecksumDefinition 0247 Debug 0248 DefaultKeyFilter 0249 DefaultKeyGenerationJob 0250 DocAction 0251 Dn 0252 Enum 0253 ExpiryChecker 0254 ExpiryCheckerConfig 0255 ExpiryCheckerSettings 0256 KConfigBasedKeyFilter 0257 KeyFilter 0258 KeyFilterManager 0259 KeyGroup 0260 KeyGroupConfig 0261 KeyGroupImportExport 0262 KeyResolver 0263 KeyResolverCore 0264 KeyserverConfig 0265 KleoException 0266 OidMap 0267 Predicates 0268 Stl_Util 0269 REQUIRED_HEADERS libkleo_HEADERS 0270 PREFIX Libkleo 0271 RELATIVE kleo 0272 ) 0273 0274 ecm_generate_headers(libkleo_CamelCase_models_HEADERS 0275 HEADER_NAMES 0276 KeyCache 0277 KeyList 0278 KeyListModel 0279 KeyListModelInterface 0280 KeyListSortFilterProxyModel 0281 KeyRearrangeColumnsProxyModel 0282 SubkeyListModel 0283 UserIDListModel 0284 UserIDProxyModel 0285 REQUIRED_HEADERS libkleo_models_HEADERS 0286 PREFIX Libkleo 0287 RELATIVE models 0288 ) 0289 0290 ecm_generate_headers(libkleo_CamelCase_utils_HEADERS 0291 HEADER_NAMES 0292 Algorithm 0293 Assuan 0294 Chrono 0295 Classify 0296 Compat 0297 Compliance 0298 CryptoConfig 0299 FileSystemWatcher 0300 Formatting 0301 GnuPG 0302 Hex 0303 KeyHelpers 0304 KeyUsage 0305 QtStlHelpers 0306 SCDaemon 0307 StringUtils 0308 SystemInfo 0309 Test 0310 UniqueLock 0311 REQUIRED_HEADERS libkleo_utils_HEADERS 0312 PREFIX Libkleo 0313 RELATIVE utils 0314 ) 0315 0316 ecm_generate_headers(libkleo_CamelCase_ui_HEADERS 0317 HEADER_NAMES 0318 AdjustingScrollArea 0319 AuditLogViewer 0320 CryptoConfigModule 0321 DNAttributeOrderConfigWidget 0322 DirectoryServicesWidget 0323 EditDirectoryServiceDialog 0324 FileNameRequester 0325 KeyApprovalDialog 0326 KeyListView 0327 KeyRequester 0328 KeySelectionCombo 0329 KeySelectionDialog 0330 MessageBox 0331 TreeView 0332 TreeWidget 0333 NewKeyApprovalDialog 0334 ProgressDialog 0335 ReaderPortSelection 0336 UserIDSelectionCombo 0337 REQUIRED_HEADERS libkleo_ui_HEADERS 0338 PREFIX Libkleo 0339 RELATIVE ui 0340 ) 0341 0342 kconfig_add_kcfg_files(KPim6Libkleo 0343 kcfg/expirycheckerconfigbase.kcfgc 0344 kcfg/classifyconfig.kcfgc 0345 ) 0346 0347 install(FILES 0348 ${libkleo_CamelCase_HEADERS} 0349 ${libkleo_CamelCase_models_HEADERS} 0350 ${libkleo_CamelCase_ui_HEADERS} 0351 ${libkleo_CamelCase_utils_HEADERS} 0352 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/Libkleo/Libkleo 0353 COMPONENT Devel 0354 ) 0355 0356 install(FILES 0357 ${CMAKE_CURRENT_BINARY_DIR}/expirycheckerconfigbase.h 0358 ${CMAKE_CURRENT_BINARY_DIR}/kleo_export.h 0359 ${libkleo_HEADERS} 0360 ${libkleo_models_HEADERS} 0361 ${libkleo_ui_HEADERS} 0362 ${libkleo_utils_HEADERS} 0363 ${CMAKE_CURRENT_BINARY_DIR}/classifyconfig.h 0364 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/Libkleo/libkleo 0365 COMPONENT Devel 0366 ) 0367 0368 if ( WIN32 ) 0369 install ( FILES libkleopatrarc-win32.desktop DESTINATION ${KDE_INSTALL_CONFDIR} RENAME libkleopatrarc ) 0370 else () 0371 install ( FILES libkleopatrarc.desktop DESTINATION ${KDE_INSTALL_CONFDIR} RENAME libkleopatrarc ) 0372 endif () 0373 0374 if (BUILD_QCH) 0375 ecm_add_qch( 0376 KPim6Libkleo_QCH 0377 NAME KPim6Libkleo 0378 BASE_NAME KPim6Libkleo 0379 VERSION ${PIM_VERSION} 0380 ORG_DOMAIN org.kde 0381 SOURCES # using only public headers, to cover only public API 0382 ${libkleo_HEADERS} 0383 ${libkleo_models_HEADERS} 0384 ${libkleo_ui_HEADERS} 0385 ${libkleo_utils_HEADERS} 0386 #MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" 0387 #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics" 0388 LINK_QCHS 0389 Qt6Core_QCH 0390 Qt6Gui_QCH 0391 Qt6Widgets_QCH 0392 INCLUDE_DIRS 0393 ${CMAKE_CURRENT_BINARY_DIR} 0394 BLANK_MACROS 0395 KLEO_EXPORT 0396 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0397 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0398 COMPONENT Devel 0399 ) 0400 endif()