Better wording
[kdepim.git] / kmail / CMakeLists.txt
blob9095b1f2d834fb10748e881a994e14323c9f0026
1 project(kmail)
3 include(CheckIncludeFiles)
5 if (NOT WINCE)
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."
16   )
18 endif (NOT WINCE)
20 include_directories(
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
34   ${GPGME_INCLUDES}
35   ${Boost_INCLUDE_DIR}
36   ${CMAKE_CURRENT_BINARY_DIR}/../ontologies
37   ${NEPOMUK_CORE_INCLUDE_DIR}
38   ${SOPRANO_INCLUDE_DIR}
39  )
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
59      collectionpane.cpp
60      collectiontemplatespage.cpp
61      collectionmaintenancepage.cpp
62      collectionviewpage.cpp
63      collectionquotapage.cpp
64      collectionquotapage_p.cpp
65      collectionaclpage.cpp
66      colorlistbox.cpp
67      kmmainwin.cpp
68      configagentdelegate.cpp
69      configuredialoglistview.cpp
70      configuredialog.cpp
71      configuredialog_p.cpp
72      simplestringlisteditor.cpp
73      identitylistview.cpp
74      identitydialog.cpp
75      globalsettings.cpp
76      snippetwidget.cpp
77      kmreaderwin.cpp
78      kmsystemtray.cpp
79      xfaceconfigurator.cpp
80      undostack.cpp
81      kmkernel.cpp
82      searchwindow.cpp
83      kmcommands.cpp
84      kmreadermainwin.cpp
85      kmstartup.cpp
86      kmmainwidget.cpp
87      aboutdata.cpp
88      mailserviceimpl.cpp
89      kmcomposereditor.cpp
90      composer.cpp
91      antispamwizard.cpp
92      secondarywindow.cpp
93      codecaction.cpp
94      codecmanager.cpp
95      foldershortcutdialog.cpp
96      mailinglistpropertiesdialog.cpp
97      util.cpp
98      messageactions.cpp
99      statusbarlabel.cpp
100      kmcomposewin.cpp
101      attachmentcontroller.cpp
102      attachmentview.cpp
103      archivefolderdialog.cpp
104      searchdescriptionattribute.cpp
105      tag.cpp
106      tagactionmanager.cpp
107      foldershortcutactionmanager.cpp
108      addressvalidationjob.cpp
109      identitypage.cpp
110      newidentitydialog.cpp
111      kmsearchmessagemodel.cpp
112      kmsearchfilterproxymodel.cpp
113      kmknotify.cpp
114      tagselectdialog.cpp
115      accountconfigorderdialog.cpp
116      insertspecialchar.cpp
117      identityeditvcarddialog.cpp
118   )
120   soprano_add_ontology(kmailprivate_LIB_SRCS
121     ${CMAKE_SOURCE_DIR}/messagecore/messagetag.trig
122     "MessageTag"
123     "Vocabulary"
124     "trig"
125   )
127   # TODO PORT
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
131   )
133   qt4_add_dbus_adaptor(kmailprivate_LIB_SRCS
134     ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml kmkernel.h KMKernel
135   )
136   qt4_add_dbus_adaptor(kmailprivate_LIB_SRCS
137     ${CMAKE_SOURCE_DIR}/libkdepim/interfaces/org.kde.mailtransport.service.xml mailserviceimpl.h
138     KMail::MailServiceImpl
139   )
141   qt4_add_dbus_interfaces(kmailprivate_LIB_SRCS
142     ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml
143   )
144   qt4_add_dbus_interfaces(kmailprivate_LIB_SRCS
145     ${CMAKE_SOURCE_DIR}/archivemailagent/org.freedesktop.Akonadi.ArchiveMailAgent.xml
146   )
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
155     ui/identitypage.ui
156     ui/accountspagereceivingtab.ui
157   )
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
173   )
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}
183     messagecore
184     messagecomposer
185     messagelist
186     mailcommon
187     templateparser
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}
197     kleo
198     ${QGPGME_LIBRARIES}
199     ksieve
200     ksieveui
201     kpgp
202     kdepim
203     ${KDE4_KIO_LIBS}
204     ${KDE4_SOLID_LIBS}
205     ${KDEPIMLIBS_KABC_LIBS}
206     ${KDEPIMLIBS_KPIMUTILS_LIBS}
207     ${KDEPIMLIBS_KPIMTEXTEDIT_LIBS}
208     messageviewer
209     akonadi_next
210     ${SOPRANO_LIBRARIES}
211     niefast_apps
212     ${QT_QTWEBKIT_LIBRARY}
213     ${QT_QTSCRIPT_LIBRARY}
214     ${NEPOMUK_LIBRARIES}
215     ${NEPOMUK_QUERY_LIBRARIES}
216     ${KDE4_KPRINTUTILS_LIBS}
217     ${NEPOMUK_CORE_LIBRARY}
218   )
220   set_target_properties(kmailprivate
221     PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}
222   )
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
236   )
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
240     ${KDE4_KDECORE_LIBS}
241     ${KDEPIMLIBS_AKONADI_LIBS}
242     kmailprivate
243     mailcommon
244     ${KDE4_KPARTS_LIBS}
245     ${KDE4_KCMUTILS_LIBS}
246   )
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
254     ${KDE4_KDEUI_LIBS}
255     ${KDE4_KDECORE_LIBS}
256     ${KDEPIMLIBS_KONTACTINTERFACE_LIBS}
257     kmailprivate
258     kdepim
259     ${QT_QTSCRIPT_LIBRARY}
260   )
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})
270   install(FILES
271     ${CMAKE_CURRENT_BINARY_DIR}/kmail.kcfg
272     DESTINATION ${KCFG_INSTALL_DIR}
273   )
274   install(FILES kmail.antispamrc kmail.antivirusrc  DESTINATION ${CONFIG_INSTALL_DIR})
275   install(FILES tips  DESTINATION ${DATA_INSTALL_DIR}/kmail2)
276   install(FILES
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}
284   )
285   install(FILES
286     kmcomposerui.rc
287     kmmainwin.rc
288     kmreadermainwin.rc
289     kmail2.notifyrc
290     kmail_part.rc
291     DESTINATION ${DATA_INSTALL_DIR}/kmail2
292   )
293   install(FILES dbusmail.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
294   install(TARGETS
295     kmailpart
296     kcm_kmail
297     DESTINATION ${PLUGIN_INSTALL_DIR}
298   )
299   install(FILES
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}
303   )
305   install( FILES kmail_addattachmentservicemenu.desktop DESTINATION
306     ${SERVICES_INSTALL_DIR}/ServiceMenus)
308 endif (NOT WINCE AND KDEPIM_BUILD_DESKTOP)
309