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.40") 0005 0006 project(kdepim-addons VERSION ${PIM_VERSION}) 0007 0008 set(KF_MIN_VERSION "5.248.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 alpha) 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 include(ECMFeatureSummary) 0049 set(KTEXTADDONS_MIN_VERSION "1.5.3") 0050 0051 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) 0052 0053 0054 find_package(Qt6 ${QT_REQUIRED_VERSION} CONFIG REQUIRED WebEngineWidgets Widgets Test) 0055 0056 find_package(KF6I18n ${KF_MIN_VERSION} CONFIG REQUIRED) 0057 find_package(KF6Config ${KF_MIN_VERSION} CONFIG REQUIRED) 0058 find_package(KF6DBusAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0059 find_package(KF6XmlGui ${KF_MIN_VERSION} CONFIG REQUIRED) 0060 find_package(KF6Declarative ${KF_MIN_VERSION} CONFIG REQUIRED) 0061 find_package(KF6SyntaxHighlighting ${KF_MIN_VERSION} CONFIG REQUIRED) 0062 find_package(KF6KIO ${KF_MIN_VERSION} CONFIG REQUIRED) 0063 find_package(KF6IconThemes ${KF_MIN_VERSION} CONFIG REQUIRED) 0064 find_package(KF6Parts ${KF_MIN_VERSION} CONFIG REQUIRED) 0065 find_package(KF6Prison ${KF_MIN_VERSION} CONFIG REQUIRED) 0066 find_package(KF6Holidays ${KF_MIN_VERSION} CONFIG REQUIRED) 0067 find_package(KF6GuiAddons ${KF_MIN_VERSION} CONFIG REQUIRED) 0068 0069 set(MAILCOMMON_LIB_VERSION "6.0.40") 0070 set(GRAVATAR_LIB_VERSION "6.0.40") 0071 set(PIMCOMMON_LIB_VERSION "6.0.40") 0072 set(GRANTLEETHEME_LIB_VERSION "6.0.40") 0073 set(CALENDARSUPPORT_LIB_VERSION "6.0.40") 0074 set(EVENTVIEW_LIB_VERSION "6.0.40") 0075 set(LIBKDEPIM_LIB_VERSION "6.0.40") 0076 set(KADDRESSBOOK_IMPORTEXPORT_LIB_VERSION "6.0.40") 0077 set(LIBKLEO_LIB_VERSION "6.0.40") 0078 set(AKONADI_LIB_VERSION "6.0.40") 0079 set(INCIDENCEEDITOR_LIB_VERSION "6.0.40") 0080 set(KTNEF_LIB_VERSION "6.0.40") 0081 set(MESSAGELIB_LIB_VERSION "6.0.40") 0082 set(AKONADICALENDAR_LIB_VERSION "6.0.40") 0083 set(CALENDAR_UTILS_VERSION "6.0.40") 0084 set(KPIMTEXTEDIT_LIB_VERSION "6.0.40") 0085 set(KIMAP_LIB_VERSION "6.0.40") 0086 set(LIBKSIEVE_LIB_VERSION "6.0.40") 0087 set(KMAILTRANSPORT_LIB_VERSION "6.0.40") 0088 set(AKONADICONTACT_LIB_VERSION "6.0.40") 0089 set(IMPORTWIZARD_LIB_VERSION "6.0.40") 0090 set(MAILIMPORTER_LIB_VERSION "6.0.40") 0091 set(KPIMPKPASS_LIB_VERSION "6.0.40") 0092 set(KPIMITINERARY_LIB_VERSION "6.0.40") 0093 set(AKONADINOTES_LIB_VERSION "6.0.40") 0094 set(KPIM_MIME_VERSION "6.0.40") 0095 0096 set(KLLMCORE_VERSION "0.1.0") 0097 find_package(KPim6Mime ${KPIM_MIME_VERSION} CONFIG REQUIRED) 0098 find_package(KPim6AkonadiNotes ${AKONADINOTES_LIB_VERSION} CONFIG REQUIRED) 0099 find_package(KF6CalendarCore ${KF_MIN_VERSION} CONFIG REQUIRED) 0100 find_package(KPim6CalendarUtils ${CALENDAR_UTILS_VERSION} CONFIG REQUIRED) 0101 find_package(KPim6WebEngineViewer ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0102 find_package(KPim6TemplateParser ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0103 find_package(KPim6MailCommon ${MAILCOMMON_LIB_VERSION} CONFIG REQUIRED) 0104 find_package(KPim6MessageViewer ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0105 find_package(KPim6AddressbookImportExport ${KADDRESSBOOK_IMPORTEXPORT_LIB_VERSION} CONFIG REQUIRED) 0106 find_package(KPim6Libkleo ${LIBKLEO_LIB_VERSION} CONFIG REQUIRED) 0107 find_package(KPim6GrantleeTheme ${GRANTLEETHEME_LIB_VERSION} CONFIG REQUIRED) 0108 find_package(KPim6PimCommonAkonadi ${PIMCOMMON_LIB_VERSION} CONFIG REQUIRED) 0109 find_package(KF6TextGrammarCheck ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0110 find_package(KF6TextTranslator ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0111 find_package(KF6TextAddonsWidgets ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0112 find_package(KF6TextUtils ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0113 find_package(KPim6Libkdepim ${LIBKDEPIM_LIB_VERSION} CONFIG REQUIRED) 0114 find_package(KPim6IncidenceEditor ${INCIDENCEEDITOR_LIB_VERSION} CONFIG REQUIRED) 0115 find_package(KPim6MessageCore ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0116 find_package(KPim6MessageComposer ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0117 find_package(KPim6MessageList ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED) 0118 find_package(KPim6CalendarSupport ${CALENDARSUPPORT_LIB_VERSION} CONFIG REQUIRED) 0119 find_package(KPim6EventViews ${EVENTVIEW_LIB_VERSION} CONFIG REQUIRED) 0120 find_package(KPim6Akonadi ${AKONADI_LIB_VERSION} CONFIG REQUIRED) 0121 find_package(KPim6AkonadiCalendar ${AKONADICALENDAR_LIB_VERSION} CONFIG REQUIRED) 0122 find_package(KPim6Gravatar ${GRAVATAR_LIB_VERSION} CONFIG REQUIRED) 0123 find_package(KPim6TextEdit ${KPIMTEXTEDIT_LIB_VERSION} CONFIG REQUIRED) 0124 find_package(KPim6IdentityManagementCore ${KIDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED) 0125 find_package(KPim6IMAP ${KIMAP_LIB_VERSION} CONFIG REQUIRED) 0126 find_package(KPim6KSieveUi ${LIBKSIEVE_LIB_VERSION} CONFIG REQUIRED) 0127 find_package(KF6TextCustomEditor ${KTEXTADDONS_MIN_VERSION} CONFIG REQUIRED) 0128 0129 find_package(KPim6Tnef ${KTNEF_LIB_VERSION} CONFIG REQUIRED) 0130 find_package(KPim6MailTransport ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED) 0131 find_package(KF6Contacts ${KF_MIN_VERSION} CONFIG REQUIRED) 0132 find_package(KPim6AkonadiContactWidgets ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED) 0133 find_package(KPim6ImportWizard ${IMPORTWIZARD_LIB_VERSION} CONFIG) 0134 find_package(KPim6MailImporterAkonadi ${MAILIMPORTER_LIB_VERSION} CONFIG REQUIRED) 0135 find_package(KPim6PkPass ${KPIMPKPASS_LIB_VERSION} CONFIG REQUIRED) 0136 find_package(KPim6Itinerary ${KPIMITINERARY_LIB_VERSION} CONFIG REQUIRED) 0137 0138 find_package(KF6TextTemplate CONFIG REQUIRED) 0139 0140 find_package(KLLMCore ${KLLMCORE_VERSION}) 0141 set_package_properties(KLLMCore PROPERTIES 0142 TYPE OPTIONAL 0143 PURPOSE "Required for building IA plugins support" 0144 DESCRIPTION "Use local IA plugin" 0145 URL https://invent.kde.org/utilities/alpaka 0146 ) 0147 0148 # For adblocker 0149 find_package(Corrosion) 0150 set_package_properties(Corrosion PROPERTIES 0151 TYPE RECOMMENDED 0152 PURPOSE "Required to build the builtin adblocker" 0153 DESCRIPTION "CMake scripts to seamlessly build and link to targets using cargo" 0154 URL https://github.com/corrosion-rs/corrosion 0155 ) 0156 0157 if(BUILD_TESTING) 0158 add_definitions(-DBUILD_TESTING) 0159 endif(BUILD_TESTING) 0160 0161 if(KDEPIM_ENTERPRISE_BUILD) 0162 set(KDEPIM_ENTERPRISE_BUILD true) 0163 else() 0164 set(KDEPIM_ENTERPRISE_BUILD false) 0165 endif() 0166 0167 # Extra package 0168 find_package(Gpgmepp 1.16.0 CONFIG) 0169 set_package_properties(Gpgmepp PROPERTIES DESCRIPTION "GpgME library" URL "https://www.gnupg.org" TYPE REQUIRED) 0170 ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.249.0) 0171 0172 option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." TRUE) 0173 include_directories(${CMAKE_CURRENT_SOURCE_DIR}) 0174 0175 set(QTCREATOR_TEMPLATE_INSTALL_DIR ${KDE_INSTALL_DATADIR}/qtcreator/templates CACHE PATH "Define qtcreator template install path (default is /usr/share/qtcreator/templates)") 0176 0177 find_package(Discount "2") 0178 set_package_properties("discount" PROPERTIES 0179 DESCRIPTION "A library that gives you formatting functions suitable for marking down entire documents or lines of text" 0180 URL "https://www.pell.portland.or.us/~orc/Code/discount/" 0181 TYPE RECOMMENDED 0182 PURPOSE "Generate Markdown file.") 0183 0184 if(discount_FOUND) 0185 if (${PC_LIBMARKDOWN_VERSION}) 0186 if (${PC_LIBMARKDOWN_VERSION} VERSION_GREATER "2.2.5") 0187 set(DISCOUNT_HAS_HIGHLIGHTING_SUPPORT TRUE) 0188 MESSAGE(STATUS "Discount ${PC_LIBMARKDOWN_VERSION}: has highlighting support") 0189 endif() 0190 endif() 0191 endif() 0192 0193 option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) 0194 0195 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) 0196 if (USE_UNITY_CMAKE_SUPPORT) 0197 set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) 0198 add_definitions(-DCOMPILE_WITH_UNITY_CMAKE_SUPPORT) 0199 endif() 0200 0201 option(BUILD_SCAM_SETTINGS_PLUGINS "Build scam settings plugins (In progress)" OFF) 0202 0203 add_subdirectory(plugins) 0204 add_subdirectory(korganizer) 0205 add_subdirectory(kmail) 0206 add_subdirectory(kaddressbook) 0207 add_subdirectory(sieveeditor) 0208 add_subdirectory(kmailtransport) 0209 if (TARGET KPim6::ImportWizard) 0210 add_subdirectory(akonadi-import-wizard) 0211 endif() 0212 0213 ecm_qt_install_logging_categories( 0214 EXPORT KDEPIMADDONS 0215 FILE kdepim-addons.categories 0216 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0217 ) 0218 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0219 ki18n_install(po) 0220 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)