3 include(CheckIncludeFiles)
7 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules)
9 qt4_generate_dbus_interface(kmkernel.h org.kde.kmail.kmail.xml OPTIONS -a)
10 qt4_generate_dbus_interface(kmcomposewin.h org.kde.kmail.mailcomposer.xml OPTIONS -a)
12 add_custom_target(kmail_xml ALL
13 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kmail.kmail.xml
14 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kmail.mailcomposer.xml
15 COMMENT "Helper target for XML stuff. The Kontact plugin, KOrganizer and others depend on it."
21 ${CMAKE_SOURCE_DIR}/libkdepim
22 ${CMAKE_SOURCE_DIR}/libksieve
23 ${CMAKE_SOURCE_DIR}/libkleo
24 ${CMAKE_SOURCE_DIR}/messagelist
25 ${CMAKE_SOURCE_DIR}/messageviewer
26 ${CMAKE_SOURCE_DIR}/templateparser
27 ${CMAKE_BINARY_DIR}/templateparser
28 ${CMAKE_SOURCE_DIR}/messagecomposer
29 ${CMAKE_BINARY_DIR}/messagecomposer
30 ${CMAKE_SOURCE_DIR}/messagecore
31 ${CMAKE_SOURCE_DIR}/mailcommon
32 ${CMAKE_BINARY_DIR}/mailcommon
33 ${CMAKE_SOURCE_DIR}/korganizer
36 ${CMAKE_CURRENT_BINARY_DIR}/../ontologies
37 ${NEPOMUK_CORE_INCLUDE_DIR}
38 ${SOPRANO_INCLUDE_DIR}
41 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}")
44 if (NOT WINCE AND KDEPIM_BUILD_DESKTOP)
45 add_subdirectory(about)
46 add_subdirectory(pics)
47 add_subdirectory(icons)
48 add_subdirectory(avscripts)
49 add_subdirectory(tests)
50 add_subdirectory(kconf_update)
51 endif(NOT WINCE AND KDEPIM_BUILD_DESKTOP)
52 add_subdirectory(kcm_kpimidentities)
54 ########### kmailprivate ###############
56 if (NOT WINCE AND KDEPIM_BUILD_DESKTOP)
58 set(kmailprivate_LIB_SRCS
60 collectiontemplatespage.cpp
61 collectionmaintenancepage.cpp
62 collectionviewpage.cpp
63 collectionquotapage.cpp
64 collectionquotapage_p.cpp
68 configagentdelegate.cpp
69 configuredialoglistview.cpp
72 simplestringlisteditor.cpp
95 foldershortcutdialog.cpp
96 mailinglistpropertiesdialog.cpp
101 attachmentcontroller.cpp
103 archivefolderdialog.cpp
104 searchdescriptionattribute.cpp
107 foldershortcutactionmanager.cpp
108 addressvalidationjob.cpp
110 newidentitydialog.cpp
111 kmsearchmessagemodel.cpp
112 kmsearchfilterproxymodel.cpp
115 accountconfigorderdialog.cpp
116 insertspecialchar.cpp
117 identityeditvcarddialog.cpp
120 soprano_add_ontology(kmailprivate_LIB_SRCS
121 ${CMAKE_SOURCE_DIR}/messagecore/messagetag.trig
128 qt4_generate_dbus_interface(kmcomposewin.h org.kde.kmail.mailcomposer.xml OPTIONS -a)
129 qt4_add_dbus_adaptor(kmailprivate_LIB_SRCS
130 ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.mailcomposer.xml kmcomposewin.h KMComposeWin
133 qt4_add_dbus_adaptor(kmailprivate_LIB_SRCS
134 ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml kmkernel.h KMKernel
136 qt4_add_dbus_adaptor(kmailprivate_LIB_SRCS
137 ${CMAKE_SOURCE_DIR}/libkdepim/interfaces/org.kde.mailtransport.service.xml mailserviceimpl.h
138 KMail::MailServiceImpl
141 qt4_add_dbus_interfaces(kmailprivate_LIB_SRCS
142 ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml
144 qt4_add_dbus_interfaces(kmailprivate_LIB_SRCS
145 ${CMAKE_SOURCE_DIR}/archivemailagent/org.freedesktop.Akonadi.ArchiveMailAgent.xml
149 kde4_add_ui_files(kmailprivate_LIB_SRCS
150 ui/composercryptoconfiguration.ui
151 ui/warningconfiguration.ui
152 ui/smimeconfiguration.ui
153 ui/miscpagemaintab.ui
154 ui/securitypagegeneraltab.ui
156 ui/accountspagereceivingtab.ui
159 # KCFG files. The main kmail.kcfg is configured by CMake and put
160 # in the build directory.
162 if(KDEPIM_ENTERPRISE_BUILD)
163 set(WARN_TOOMANY_RECIPIENTS_DEFAULT true)
164 else(KDEPIM_ENTERPRISE_BUILD)
165 set(WARN_TOOMANY_RECIPIENTS_DEFAULT false)
166 endif(KDEPIM_ENTERPRISE_BUILD)
168 configure_file(kmail.kcfg.cmake ${CMAKE_CURRENT_BINARY_DIR}/kmail.kcfg)
170 kde4_add_kcfg_files(kmailprivate_LIB_SRCS
171 globalsettings_base.kcfgc
172 custommimeheader.kcfgc
176 kde4_add_library(kmailprivate ${LIBRARY_TYPE} ${kmailprivate_LIB_SRCS})
178 target_link_libraries(kmailprivate
179 ${KDEPIMLIBS_KMBOX_LIBS}
180 ${KDEPIMLIBS_KMIME_LIBS}
181 ${KDEPIMLIBS_AKONADI_LIBS}
182 ${KDEPIMLIBS_AKONADI_KMIME_LIBS}
188 ${KDEPIMLIBS_KPIMIDENTITIES_LIBS}
189 ${KDEPIMLIBS_KONTACTINTERFACE_LIBS}
190 ${KDE4_PHONON_LIBRARY}
191 ${KDE4_KNOTIFYCONFIG_LIBRARY}
192 ${KDEPIMLIBS_MAILTRANSPORT_LIBS}
193 ${KDEPIMLIBS_KIMAP_LIBS}
194 ${KDE4_KPARTS_LIBRARY}
195 ${KDEPIMLIBS_KRESOURCES_LIBS}
196 ${KDE4_KCMUTILS_LIBS}
205 ${KDEPIMLIBS_KABC_LIBS}
206 ${KDEPIMLIBS_KPIMUTILS_LIBS}
207 ${KDEPIMLIBS_KPIMTEXTEDIT_LIBS}
212 ${QT_QTWEBKIT_LIBRARY}
213 ${QT_QTSCRIPT_LIBRARY}
215 ${NEPOMUK_QUERY_LIBRARIES}
216 ${KDE4_KPRINTUTILS_LIBS}
217 ${NEPOMUK_CORE_LIBRARY}
220 set_target_properties(kmailprivate
221 PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}
224 ########### kcm_kmail ###############
226 set(kcm_kmail_PART_SRCS kcm_kmail.cpp )
227 kde4_add_plugin(kcm_kmail ${kcm_kmail_PART_SRCS})
228 target_link_libraries(kcm_kmail ${KDE4_KDEUI_LIBS} kmailprivate )
230 ########### kmailpart ###############
232 set(kmailpart_PART_SRCS kmail_part.cpp )
233 qt4_generate_dbus_interface(kmail_part.h org.kde.kmail.kmailpart.xml OPTIONS -a)
234 qt4_add_dbus_adaptor(kmailpart_PART_SRCS
235 ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmailpart.xml kmail_part.h KMailPart
237 qt4_add_dbus_interfaces(kmailpart_PART_SRCS ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmailpart.xml)
238 kde4_add_plugin(kmailpart ${kmailpart_PART_SRCS})
239 target_link_libraries(kmailpart
241 ${KDEPIMLIBS_AKONADI_LIBS}
245 ${KDE4_KCMUTILS_LIBS}
248 ########### KMail executable ###############
250 set(kmail_SRCS main.cpp)
251 kde4_add_app_icon(kmail_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi*-apps-kmail.png")
252 kde4_add_executable(kmail ${kmail_SRCS})
253 target_link_libraries(kmail
256 ${KDEPIMLIBS_KONTACTINTERFACE_LIBS}
259 ${QT_QTSCRIPT_LIBRARY}
263 ########### install files ###############
265 install(TARGETS kmailprivate ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP)
267 install(TARGETS kmail ${INSTALL_TARGETS_DEFAULT_ARGS})
269 install(PROGRAMS KMail2.desktop kmail_view.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
271 ${CMAKE_CURRENT_BINARY_DIR}/kmail.kcfg
272 DESTINATION ${KCFG_INSTALL_DIR}
274 install(FILES kmail.antispamrc kmail.antivirusrc DESTINATION ${CONFIG_INSTALL_DIR})
275 install(FILES tips DESTINATION ${DATA_INSTALL_DIR}/kmail2)
277 kmail_config_misc.desktop
278 kmail_config_appearance.desktop
279 kmail_config_identity.desktop
280 kmail_config_accounts.desktop
281 kmail_config_composer.desktop
282 kmail_config_security.desktop
283 DESTINATION ${SERVICES_INSTALL_DIR}
291 DESTINATION ${DATA_INSTALL_DIR}/kmail2
293 install(FILES dbusmail.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
297 DESTINATION ${PLUGIN_INSTALL_DIR}
300 ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmailpart.xml
301 ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml
302 DESTINATION ${DBUS_INTERFACES_INSTALL_DIR}
305 install( FILES kmail_addattachmentservicemenu.desktop DESTINATION
306 ${SERVICES_INSTALL_DIR}/ServiceMenus)
308 endif (NOT WINCE AND KDEPIM_BUILD_DESKTOP)