Warning, /utilities/kgpg/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16 FATAL_ERROR) 0002 0003 # KDE Application Version, managed by release script 0004 set (RELEASE_SERVICE_VERSION_MAJOR "24") 0005 set (RELEASE_SERVICE_VERSION_MINOR "04") 0006 set (RELEASE_SERVICE_VERSION_MICRO "70") 0007 set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0008 0009 project(kgpg VERSION ${RELEASE_SERVICE_VERSION}) 0010 set(QT_MIN_VERSION "6.4.0") 0011 set(KF_MIN_VERSION "5.240.0") 0012 0013 find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) 0014 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") 0015 0016 include(KDEInstallDirs) 0017 include(KDECMakeSettings) 0018 include(KDECompilerSettings NO_POLICY_SCOPE) 0019 0020 include(CheckIncludeFileCXX) 0021 include(ECMAddAppIcon) 0022 include(ECMInstallIcons) 0023 include(FeatureSummary) 0024 include(ECMSetupVersion) 0025 include(CMakeFindDependencyMacro) 0026 include(ECMQtDeclareLoggingCategory) 0027 include(ECMDeprecationSettings) 0028 0029 set(KF_MAJOR_VERSION "6") 0030 0031 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS 0032 Core 0033 DBus 0034 Gui 0035 PrintSupport 0036 Widgets 0037 Core5Compat 0038 ) 0039 0040 0041 # Load the frameworks we need 0042 find_package(KF6 ${KF_MIN_VERSION} REQUIRED 0043 Archive 0044 DocTools 0045 Codecs 0046 CoreAddons 0047 Crash 0048 DBusAddons 0049 I18n 0050 JobWidgets 0051 KIO 0052 Notifications 0053 Service 0054 TextWidgets 0055 XmlGui 0056 WidgetsAddons 0057 WindowSystem 0058 Contacts 0059 StatusNotifierItem 0060 ) 0061 0062 find_package(KPim6AkonadiContactWidgets 5.24.40 REQUIRED) 0063 0064 # only headers are used 0065 find_package(Gpgme REQUIRED) 0066 0067 ecm_set_disabled_deprecation_versions( 0068 KF 5.80.0 0069 ) 0070 0071 add_subdirectory( icons ) 0072 add_subdirectory( doc ) 0073 include_directories( ${KDEPIMLIBS_INCLUDE_DIR} ${GPGME_INCLUDES} ) 0074 0075 option(KGPG_DEBUG_TRANSACTIONS "show commands and results of gpg calls in debug log" Off) 0076 0077 set(core_SRCS 0078 core/convert.cpp 0079 core/images.cpp 0080 core/emailvalidator.cpp 0081 core/kgpgkey.cpp 0082 core/KGpgExpandableNode.cpp 0083 core/KGpgKeyNode.cpp 0084 core/KGpgGroupMemberNode.cpp 0085 core/KGpgGroupNode.cpp 0086 core/KGpgNode.cpp 0087 core/KGpgOrphanNode.cpp 0088 core/KGpgRefNode.cpp 0089 core/KGpgRootNode.cpp 0090 core/KGpgSignableNode.cpp 0091 core/KGpgSignNode.cpp 0092 core/KGpgSubkeyNode.cpp 0093 core/KGpgUatNode.cpp 0094 core/KGpgUidNode.cpp 0095 ) 0096 0097 set(kgpg_editor_SRCS 0098 editor/kgpgmd5widget.cpp 0099 editor/kgpgeditor.cpp 0100 editor/kgpgtextedit.cpp 0101 ) 0102 0103 set(kgpg_model_SRCS 0104 model/gpgservermodel.cpp 0105 model/kgpgitemmodel.cpp 0106 model/groupeditproxymodel.cpp 0107 model/keylistproxymodel.cpp 0108 model/kgpgsearchresultmodel.cpp 0109 model/selectkeyproxymodel.cpp 0110 ) 0111 0112 set(kgpg_transaction_SRCS 0113 transactions/kgpgtransaction.cpp 0114 transactions/kgpgtransactionjob.cpp 0115 transactions/kgpgtransactionprivate.cpp 0116 transactions/kgpguidtransaction.cpp 0117 transactions/kgpgeditkeytransaction.cpp 0118 transactions/kgpgsigntransactionhelper.cpp 0119 transactions/kgpgchangedisable.cpp 0120 transactions/kgpgchangeexpire.cpp 0121 transactions/kgpgchangepass.cpp 0122 transactions/kgpgchangetrust.cpp 0123 transactions/kgpgdelsign.cpp 0124 transactions/kgpgdeluid.cpp 0125 transactions/kgpgencrypt.cpp 0126 transactions/kgpgexport.cpp 0127 transactions/kgpgaddphoto.cpp 0128 transactions/kgpgadduid.cpp 0129 transactions/kgpggeneratekey.cpp 0130 transactions/kgpggeneraterevoke.cpp 0131 transactions/kgpgdecrypt.cpp 0132 transactions/kgpgdelkey.cpp 0133 transactions/kgpgimport.cpp 0134 transactions/kgpgkeyservertransaction.cpp 0135 transactions/kgpgkeyservergettransaction.cpp 0136 transactions/kgpgkeyserversearchtransaction.cpp 0137 transactions/kgpgprimaryuid.cpp 0138 transactions/kgpgsendkeys.cpp 0139 transactions/kgpgsignkey.cpp 0140 transactions/kgpgsigntext.cpp 0141 transactions/kgpgsignuid.cpp 0142 transactions/kgpgtextorfiletransaction.cpp 0143 transactions/kgpgverify.cpp 0144 transactions/customstyleditemdelegate.cpp 0145 ) 0146 0147 set(kgpg_SRCS ${core_SRCS} ${kgpg_editor_SRCS} ${kgpg_model_SRCS} ${kgpg_transaction_SRCS} 0148 selectpublickeydialog.cpp 0149 selectsecretkey.cpp 0150 kgpgoptions.cpp 0151 keysmanager.cpp 0152 kgpg.cpp 0153 kgpgkeygenerate.cpp 0154 kgpginterface.cpp 0155 kgpgtextinterface.cpp 0156 gpgproc.cpp 0157 klinebufferedprocess.cpp 0158 klinebufferedprocessprivate.cpp 0159 keyservers.cpp 0160 detailedconsole.cpp 0161 keyinfodialog.cpp 0162 newkey.cpp 0163 keyexport.cpp 0164 conf_encryption.cpp 0165 kgpgrevokewidget.cpp 0166 keytreeview.cpp 0167 groupedit.cpp 0168 sourceselect.cpp 0169 kgpgchangekey.cpp 0170 kgpgfirstassistant.cpp 0171 kgpgexternalactions.cpp 0172 selectexpirydate.cpp 0173 caff.cpp 0174 foldercompressjob.cpp 0175 ) 0176 0177 ecm_qt_declare_logging_category(kgpg_SRCS HEADER kgpg_general_debug.h IDENTIFIER KGPG_LOG_GENERAL CATEGORY_NAME org.kde.kgpg_general DESCRIPTION "kgpg (general)" EXPORT KGPG) 0178 ecm_qt_declare_logging_category(kgpg_SRCS HEADER kgpg_transactions_debug.h IDENTIFIER KGPG_LOG_TRANSACTIONS CATEGORY_NAME org.kde.kgpg_transactions DESCRIPTION "kgpg (transactions)" EXPORT KGPG) 0179 0180 set(kgpg_HDRS 0181 caff.h 0182 caff_p.h 0183 conf_encryption.h 0184 detailedconsole.h 0185 foldercompressjob.h 0186 gpgproc.h 0187 groupedit.h 0188 keyexport.h 0189 keyinfodialog.h 0190 keyservers.h 0191 keysmanager.h 0192 keytreeview.h 0193 kgpg.h 0194 kgpgchangekey.h 0195 kgpgexternalactions.h 0196 kgpgfirstassistant.h 0197 kgpginterface.h 0198 kgpgkeygenerate.h 0199 kgpgoptions.h 0200 kgpgrevokewidget.h 0201 kgpgtextinterface.h 0202 klinebufferedprocess.h 0203 newkey.h 0204 selectexpirydate.h 0205 selectpublickeydialog.h 0206 selectsecretkey.h 0207 sourceselect.h 0208 transactions/customstyleditemdelegate.h 0209 ) 0210 0211 qt_add_dbus_adaptor( kgpg_SRCS org.kde.kgpg.Key.xml keysmanager.h KeysManager) 0212 0213 qt_add_dbus_interface(kgpg_SRCS org.kde.kgpg.Key.xml kgpg_interface ) 0214 0215 ki18n_wrap_ui(kgpg_SRCS 0216 adduid.ui 0217 conf_gpg.ui 0218 searchres.ui 0219 groupedit.ui 0220 conf_ui2.ui 0221 conf_servers.ui 0222 conf_misc.ui 0223 newkey.ui 0224 keyexport.ui 0225 conf_encryption.ui 0226 kgpgKeyInfo.ui 0227 kgpgkeygenerate.ui 0228 kgpgrevokewidget.ui 0229 keyserver.ui 0230 conf_decryption.ui 0231 sourceselect.ui 0232 ) 0233 0234 file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/*-apps-kgpg.png") 0235 ecm_add_app_icon(kgpg_SRCS ICONS ${ICONS_SRCS}) 0236 0237 kconfig_add_kcfg_files(kgpg_SRCS kgpgsettings.kcfgc ) 0238 0239 add_library(kgpg_lib STATIC ${kgpg_SRCS} ${kgpg_HDRS}) 0240 add_executable(kgpg 0241 kgpg.qrc 0242 main.cpp 0243 ) 0244 target_link_libraries(kgpg kgpg_lib) 0245 0246 if (KGPG_DEBUG_TRANSACTIONS) 0247 set_property(SOURCE ${kgpg_transaction_SRCS} APPEND PROPERTY COMPILE_DEFINITIONS "KGPG_DEBUG_TRANSACTIONS") 0248 endif () 0249 0250 set_property(SOURCE main.cpp APPEND PROPERTY COMPILE_DEFINITIONS "KGPG_VERSION=\"${RELEASE_SERVICE_VERSION}\"") 0251 0252 target_link_libraries(kgpg_lib 0253 KF6::Archive 0254 KF6::Codecs 0255 KF6::Contacts 0256 KF6::CoreAddons 0257 KF6::Crash 0258 KF6::DBusAddons 0259 KF6::I18n 0260 KF6::JobWidgets 0261 KF6::KIOCore 0262 KF6::KIOFileWidgets 0263 KF6::KIOWidgets 0264 KF6::Notifications 0265 KF6::Service 0266 KF6::TextWidgets 0267 KF6::XmlGui 0268 KF6::WidgetsAddons 0269 KF6::WindowSystem 0270 KF6::StatusNotifierItem 0271 KPim6::AkonadiContactWidgets 0272 Qt6::Core5Compat 0273 Qt6::PrintSupport 0274 ) 0275 0276 if (QT_MAJOR_VERSION STREQUAL "6") 0277 target_link_libraries(kgpg_lib 0278 ) 0279 endif() 0280 if(BUILD_TESTING) 0281 add_subdirectory(tests) 0282 endif() 0283 0284 install(TARGETS kgpg ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) 0285 0286 ########### install files ############### 0287 0288 install( PROGRAMS org.kde.kgpg.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0289 install( FILES org.kde.kgpg.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0290 install( FILES kgpg.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) 0291 install( FILES org.kde.kgpg.desktop DESTINATION ${KDE_INSTALL_AUTOSTARTDIR} ) 0292 0293 install( PROGRAMS kgpg_encryptfile.desktop kgpg_encryptfolder.desktop kgpg_viewdecrypted.desktop DESTINATION ${KDE_INSTALL_DATADIR}/kio/servicemenus ) 0294 install( FILES org.kde.kgpg.Key.xml DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR}) 0295 0296 ecm_install_icons(ICONS 0297 16-apps-kgpg.png 0298 22-apps-kgpg.png 0299 32-apps-kgpg.png 0300 48-apps-kgpg.png 0301 64-apps-kgpg.png 0302 128-apps-kgpg.png 0303 sc-apps-kgpg.svg 0304 DESTINATION ${KDE_INSTALL_ICONDIR} 0305 THEME hicolor 0306 ) 0307 0308 ecm_qt_install_logging_categories(EXPORT KGPG FILE kgpg.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) 0309 ki18n_install(po) 0310 kdoctools_install(po) 0311 0312 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)