Warning, /pim/kdepim-addons/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: none 0002 # SPDX-License-Identifier: BSD-3-Clause 0003 cmake_minimum_required(VERSION 3.16 FATAL_ERROR) 0004 set(PIM_VERSION "6.0.0") 0005 0006 project(kdepim-addons VERSION ${PIM_VERSION}) 0007 0008 set(KF_MIN_VERSION "5.246.0") 0009 set(QT_REQUIRED_VERSION "6.6.0") 0010 find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED) 0011 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ ${ECM_MODULE_PATH}) 0012 0013 # Do NOT add quote 0014 set(KDEPIM_DEV_VERSION) 0015 0016 # add an extra space 0017 if(DEFINED KDEPIM_DEV_VERSION) 0018 set(KDEPIM_DEV_VERSION " ${KDEPIM_DEV_VERSION}") 0019 endif() 0020 0021 set(KDEPIMADDONS_VERSION_NUMBER ${PIM_VERSION}) 0022 set(KDEPIMADDONS_VERSION "${KDEPIMADDONS_VERSION_NUMBER}${KDEPIM_DEV_VERSION}") 0023 0024 set(KDEPIMADDONS_LIB_VERSION "${KDEPIMADDONS_VERSION_NUMBER}") 0025 set(KDEPIMADDONS_LIB_SOVERSION "6") 0026 0027 include(ECMInstallIcons) 0028 include(ECMSetupVersion) 0029 include(ECMAddTests) 0030 0031 include(GenerateExportHeader) 0032 include(ECMGenerateHeaders) 0033 0034 include(FeatureSummary) 0035 include(KDEGitCommitHooks) 0036 include(KDEClangFormat) 0037 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c) 0038 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0039 include(CheckFunctionExists) 0040 0041 0042 include(KDEInstallDirs) 0043 include(KDECMakeSettings) 0044 include(KDECompilerSettings NO_POLICY_SCOPE) 0045 include(ECMAddAppIcon) 0046 include(ECMQtDeclareLoggingCategory) 0047 include(ECMDeprecationSettings) 0048 set(KTEXTADDONS_MIN_VERSION "1.5.2") 0049 0050 option(KDEPIM_ENTERPRISE_BUILD "Enable features specific to the enterprise branch, which are normally disabled. Also, it disables many components not needed for Kontact such as the Kolab client." FALSE) 0051 0052 0053 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED WebEngineWidgets Widgets Test) 0054 0055 find_package(KF6I18n ${KF_MIN_VERSION} CONFIG REQUIRED) 0056 find_package(KF6Config ${KF_MIN_VERSION} CONFIG REQUIRED) 0057 find_package(KF6DBusAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0058 find_package(KF6XmlGui ${KF_MIN_VERSION} CONFIG REQUIRED) 0059 find_package(KF6Declarative ${KF_MIN_VERSION} CONFIG REQUIRED) 0060 find_package(KF6SyntaxHighlighting ${KF_MIN_VERSION} CONFIG REQUIRED) 0061 find_package(KF6KIO ${KF_MIN_VERSION} CONFIG REQUIRED) 0062 find_package(KF6IconThemes ${KF_MIN_VERSION} CONFIG REQUIRED) 0063 find_package(KF6Parts ${KF_MIN_VERSION} CONFIG REQUIRED) 0064 find_package(KF6Prison ${KF_MIN_VERSION} CONFIG REQUIRED) 0065 find_package(KF6Holidays ${KF_MIN_VERSION} CONFIG REQUIRED) 0066 find_package(KF6GuiAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0067 0068 set(MAILCOMMON_LIB_VERSION "6.0.0") 0069 set(GRAVATAR_LIB_VERSION "6.0.0") 0070 set(PIMCOMMON_LIB_VERSION "6.0.0") 0071 set(GRANTLEETHEME_LIB_VERSION "6.0.0") 0072 set(CALENDARSUPPORT_LIB_VERSION "6.0.0") 0073 set(EVENTVIEW_LIB_VERSION "6.0.0") 0074 set(LIBKDEPIM_LIB_VERSION "6.0.0") 0075 set(KADDRESSBOOK_IMPORTEXPORT_LIB_VERSION "6.0.0") 0076 set(LIBKLEO_LIB_VERSION "6.0.0") 0077 set(AKONADI_LIB_VERSION "6.0.0") 0078 set(INCIDENCEEDITOR_LIB_VERSION "6.0.0") 0079 set(KTNEF_LIB_VERSION "6.0.0") 0080 set(MESSAGELIB_LIB_VERSION "6.0.0") 0081 set(AKONADICALENDAR_LIB_VERSION "6.0.0") 0082 set(CALENDAR_UTILS_VERSION "6.0.0") 0083 set(KPIMTEXTEDIT_LIB_VERSION "6.0.0") 0084 set(KIMAP_LIB_VERSION "6.0.0") 0085 set(LIBKSIEVE_LIB_VERSION "6.0.0") 0086 set(KMAILTRANSPORT_LIB_VERSION "6.0.0") 0087 set(AKONADICONTACT_LIB_VERSION "6.0.0") 0088 set(IMPORTWIZARD_LIB_VERSION "6.0.0") 0089 set(MAILIMPORTER_LIB_VERSION "6.0.0") 0090 set(KPIMPKPASS_LIB_VERSION "6.0.0") 0091 set(KPIMITINERARY_LIB_VERSION "6.0.0") 0092 set(AKONADINOTES_LIB_VERSION "6.0.0") 0093 set(KPIM_MIME_VERSION "6.0.0") 0094 0095 set(KLLMCORE_VERSION "0.1.0") 0096 find_package(KPim6Mime ${KPIM_MIME_VERSION} CONFIG REQUIRED) 0097 find_package(KPim6AkonadiNotes ${AKONADINOTES_LIB_VERSION} CONFIG REQUIRED) 0098 find_package(KF6CalendarCore ${KF_MIN_VERSION} CONFIG REQUIRED) 0099 find_package(KPim6CalendarUtils ${CALENDAR_UTILS_VERSION} CONFIG REQUIRED) 0100 find_package(KPim6WebEngineViewer ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0101 find_package(KPim6TemplateParser ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0102 find_package(KPim6MailCommon ${MAILCOMMON_LIB_VERSION} CONFIG REQUIRED) 0103 find_package(KPim6MessageViewer ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0104 find_package(KPim6AddressbookImportExport ${KADDRESSBOOK_IMPORTEXPORT_LIB_VERSION} CONFIG REQUIRED) 0105 find_package(KPim6Libkleo ${LIBKLEO_LIB_VERSION} CONFIG REQUIRED) 0106 find_package(KPim6GrantleeTheme ${GRANTLEETHEME_LIB_VERSION} CONFIG REQUIRED) 0107 find_package(KPim6PimCommonAkonadi ${PIMCOMMON_LIB_VERSION} CONFIG REQUIRED) 0108 find_package(KF6TextGrammarCheck ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0109 find_package(KF6TextTranslator ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0110 find_package(KF6TextAddonsWidgets ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0111 find_package(KF6TextUtils ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0112 find_package(KPim6Libkdepim ${LIBKDEPIM_LIB_VERSION} CONFIG REQUIRED) 0113 find_package(KPim6IncidenceEditor ${INCIDENCEEDITOR_LIB_VERSION} CONFIG REQUIRED) 0114 find_package(KPim6MessageCore ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0115 find_package(KPim6MessageComposer ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0116 find_package(KPim6MessageList ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0117 find_package(KPim6CalendarSupport ${CALENDARSUPPORT_LIB_VERSION} CONFIG REQUIRED) 0118 find_package(KPim6EventViews ${EVENTVIEW_LIB_VERSION} CONFIG REQUIRED) 0119 find_package(KPim6Akonadi ${AKONADI_LIB_VERSION} CONFIG REQUIRED) 0120 find_package(KPim6AkonadiCalendar ${AKONADICALENDAR_LIB_VERSION} CONFIG REQUIRED) 0121 find_package(KPim6Gravatar ${GRAVATAR_LIB_VERSION} CONFIG REQUIRED) 0122 find_package(KPim6TextEdit ${KPIMTEXTEDIT_LIB_VERSION} CONFIG REQUIRED) 0123 find_package(KPim6IdentityManagementCore ${KIDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED) 0124 find_package(KPim6IMAP ${KIMAP_LIB_VERSION} CONFIG REQUIRED) 0125 find_package(KPim6KSieveUi ${LIBKSIEVE_LIB_VERSION} CONFIG REQUIRED) 0126 find_package(KF6TextCustomEditor ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0127 0128 find_package(KPim6Tnef ${KTNEF_LIB_VERSION} CONFIG REQUIRED) 0129 find_package(KPim6MailTransport ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED) 0130 find_package(KF6Contacts ${KF_MIN_VERSION} CONFIG REQUIRED) 0131 find_package(KPim6AkonadiContactWidgets ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED) 0132 find_package(KPim6ImportWizard ${IMPORTWIZARD_LIB_VERSION} CONFIG) 0133 find_package(KPim6MailImporterAkonadi ${MAILIMPORTER_LIB_VERSION} CONFIG REQUIRED) 0134 find_package(KPim6PkPass ${KPIMPKPASS_LIB_VERSION} CONFIG REQUIRED) 0135 find_package(KPim6Itinerary ${KPIMITINERARY_LIB_VERSION} CONFIG REQUIRED) 0136 0137 find_package(KF6TextTemplate CONFIG REQUIRED) 0138 0139 find_package(KLLMCore ${KLLMCORE_VERSION}) 0140 set_package_properties(KLLMCore PROPERTIES 0141 TYPE OPTIONAL 0142 PURPOSE "Required for building IA plugins support" 0143 DESCRIPTION "Use local IA plugin" 0144 URL https://invent.kde.org/utilities/alpaka 0145 ) 0146 0147 # For adblocker 0148 find_package(Corrosion) 0149 set_package_properties(Corrosion PROPERTIES 0150 TYPE RECOMMENDED 0151 PURPOSE "Required to build the builtin adblocker" 0152 DESCRIPTION "CMake scripts to seamlessly build and link to targets using cargo" 0153 URL https://github.com/corrosion-rs/corrosion 0154 ) 0155 0156 if(BUILD_TESTING) 0157 add_definitions(-DBUILD_TESTING) 0158 endif(BUILD_TESTING) 0159 0160 if(KDEPIM_ENTERPRISE_BUILD) 0161 set(KDEPIM_ENTERPRISE_BUILD true) 0162 else() 0163 set(KDEPIM_ENTERPRISE_BUILD false) 0164 endif() 0165 0166 # Extra package 0167 find_package(Gpgmepp 1.16.0 CONFIG) 0168 set_package_properties(Gpgmepp PROPERTIES DESCRIPTION "GpgME library" URL "https://www.gnupg.org" TYPE REQUIRED) 0169 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.248.0) 0170 0171 option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." TRUE) 0172 include_directories(${CMAKE_CURRENT_SOURCE_DIR}) 0173 0174 set(QTCREATOR_TEMPLATE_INSTALL_DIR ${KDE_INSTALL_DATADIR}/qtcreator/templates CACHE PATH "Define qtcreator template install path (default is /usr/share/qtcreator/templates)") 0175 0176 find_package(Discount "2") 0177 set_package_properties("discount" PROPERTIES 0178 DESCRIPTION "A library that gives you formatting functions suitable for marking down entire documents or lines of text" 0179 URL "https://www.pell.portland.or.us/~orc/Code/discount/" 0180 TYPE RECOMMENDED 0181 PURPOSE "Generate Markdown file.") 0182 0183 if(discount_FOUND) 0184 if (${PC_LIBMARKDOWN_VERSION}) 0185 if (${PC_LIBMARKDOWN_VERSION} VERSION_GREATER "2.2.5") 0186 set(DISCOUNT_HAS_HIGHLIGHTING_SUPPORT TRUE) 0187 MESSAGE(STATUS "Discount ${PC_LIBMARKDOWN_VERSION}: has highlighting support") 0188 endif() 0189 endif() 0190 endif() 0191 0192 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0193 0194 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0195 if (USE_UNITY_CMAKE_SUPPORT) 0196 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0197 add_definitions(-DCOMPILE_WITH_UNITY_CMAKE_SUPPORT) 0198 endif() 0199 0200 option(BUILD_SCAM_SETTINGS_PLUGINS "Build scam settings plugins (In progress)" OFF) 0201 0202 add_subdirectory(plugins) 0203 add_subdirectory(korganizer) 0204 add_subdirectory(kmail) 0205 add_subdirectory(kaddressbook) 0206 add_subdirectory(sieveeditor) 0207 add_subdirectory(kmailtransport) 0208 if (TARGET KPim6::ImportWizard) 0209 add_subdirectory(akonadi-import-wizard) 0210 endif() 0211 0212 ecm_qt_install_logging_categories( 0213 EXPORT KDEPIMADDONS 0214 FILE kdepim-addons.categories 0215 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0216 ) 0217 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0218 ki18n_install(po) 0219 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)