doc fixes found while translating
[kdepim.git] / kmail / CMakeLists.txt
blob112d1a1e222dd744bd126101ca83ccee28a1be2a
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)
11   add_custom_target(kmail_xml ALL
12     DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kmail.kmail.xml
13     COMMENT "Helper target for XML stuff. The Kontact plugin, KOrganizer and others depend on it."
14   )
16 endif (NOT WINCE)
18 include_directories(
19   ${CMAKE_SOURCE_DIR}/libkdepim
20   ${CMAKE_BINARY_DIR}/libkdepim
21   ${CMAKE_SOURCE_DIR}/libksieve
22   ${CMAKE_SOURCE_DIR}/libkleo
23   ${CMAKE_SOURCE_DIR}/messagelist
24   ${CMAKE_SOURCE_DIR}/messageviewer
25   ${CMAKE_SOURCE_DIR}/templateparser
26   ${CMAKE_BINARY_DIR}/templateparser
27   ${CMAKE_SOURCE_DIR}/messagecomposer
28   ${CMAKE_BINARY_DIR}/messagecomposer
29   ${CMAKE_SOURCE_DIR}/messagecore
30   ${CMAKE_SOURCE_DIR}/mailcommon
31   ${CMAKE_BINARY_DIR}/mailcommon
32   ${CMAKE_SOURCE_DIR}/korganizer
33   ${GPGME_INCLUDES}
34   ${Boost_INCLUDE_DIR}
35   ${CMAKE_CURRENT_BINARY_DIR}/../ontologies
36   ${NEPOMUK_INCLUDES}
37   ${SOPRANO_INCLUDE_DIR}
38  )
40 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}")
43 if (NOT WINCE AND KDEPIM_BUILD_DESKTOP)
44   add_subdirectory(about)
45   add_subdirectory(pics)
46   add_subdirectory(icons)
47   add_subdirectory(avscripts)
48   add_subdirectory(tests)
49   add_subdirectory(kconf_update)
50 endif(NOT WINCE AND KDEPIM_BUILD_DESKTOP)
51 add_subdirectory(kcm_kpimidentities)
53 ########### kmailprivate ###############
55 if (NOT WINCE AND KDEPIM_BUILD_DESKTOP)
57   set(kmailprivate_LIB_SRCS
58      collectionpane.cpp
59      collectiontemplatespage.cpp
60      collectionmaintenancepage.cpp
61      collectionviewpage.cpp
62      collectionquotapage.cpp
63      collectionquotapage_p.cpp
64      collectionaclpage.cpp
65      colorlistbox.cpp
66      kmmainwin.cpp
67      configagentdelegate.cpp
68      configuredialoglistview.cpp
69      configuredialog.cpp
70      configuredialog_p.cpp
71      simplestringlisteditor.cpp
72      identitylistview.cpp
73      identitydialog.cpp
74      globalsettings.cpp
75      snippetwidget.cpp
76      kmreaderwin.cpp
77      kmsystemtray.cpp
78      kmfilterdlg.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      filterlogdlg.cpp
94      codecaction.cpp
95      codecmanager.cpp
96      foldershortcutdialog.cpp
97      mailinglistpropertiesdialog.cpp
98      util.cpp
99      messageactions.cpp
100      statusbarlabel.cpp
101      kmcomposewin.cpp
102      attachmentcontroller.cpp
103      attachmentview.cpp
104      backupjob.cpp
105      archivefolderdialog.cpp
106      searchdescriptionattribute.cpp
107      tag.cpp
108      tagactionmanager.cpp
109      foldershortcutactionmanager.cpp
110      addressvalidationjob.cpp
111      identitypage.cpp
112      newidentitydialog.cpp
113      kmsearchmessagemodel.cpp
114      kmknotify.cpp
115   )
117   soprano_add_ontology(kmailprivate_LIB_SRCS
118     ${CMAKE_SOURCE_DIR}/messagecore/messagetag.trig
119     "MessageTag"
120     "Vocabulary"
121     "trig"
122   )
124   # TODO PORT
125   # qt4_generate_dbus_interface(kmcomposewin.h org.kde.kmail.mailcomposer.xml OPTIONS -a)
126   # qt4_add_dbus_adaptor(kmailprivate_LIB_SRCS
127   #   ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.mailcomposer.xml kmcomposewin.h KMComposeWin
128   # )
130   qt4_add_dbus_adaptor(kmailprivate_LIB_SRCS
131     ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml kmkernel.h KMKernel
132   )
133   qt4_add_dbus_adaptor(kmailprivate_LIB_SRCS
134     ${CMAKE_SOURCE_DIR}/libkdepim/interfaces/org.kde.mailtransport.service.xml mailserviceimpl.h
135     KMail::MailServiceImpl
136   )
138   qt4_add_dbus_interfaces(kmailprivate_LIB_SRCS
139     ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml
140   )
142   kde4_add_ui_files(kmailprivate_LIB_SRCS
143     ui/composercryptoconfiguration.ui
144     ui/warningconfiguration.ui
145     ui/smimeconfiguration.ui
146     ui/miscpagemaintab.ui
147     ui/securitypagegeneraltab.ui
148     ui/identitypage.ui
149     ui/accountspagereceivingtab.ui
150   )
152   # KCFG files. The main kmail.kcfg is configured by CMake and put
153   # in the build directory.
155   if(KDEPIM_ENTERPRISE_BUILD)
156     set(WARN_TOOMANY_RECIPIENTS_DEFAULT true)
157   else(KDEPIM_ENTERPRISE_BUILD)
158     set(WARN_TOOMANY_RECIPIENTS_DEFAULT false)
159   endif(KDEPIM_ENTERPRISE_BUILD)
161   configure_file(kmail.kcfg.cmake ${CMAKE_CURRENT_BINARY_DIR}/kmail.kcfg)
163   kde4_add_kcfg_files(kmailprivate_LIB_SRCS
164     globalsettings_base.kcfgc
165     custommimeheader.kcfgc
166   )
169   kde4_add_library(kmailprivate ${LIBRARY_TYPE} ${kmailprivate_LIB_SRCS})
171   target_link_libraries(kmailprivate
172     ${KDEPIMLIBS_KMBOX_LIBS}
173     ${KDEPIMLIBS_KMIME_LIBS}
174     ${KDEPIMLIBS_AKONADI_LIBS}
175     ${KDEPIMLIBS_AKONADI_KMIME_LIBS}
176     messagecore
177     messagecomposer
178     messagelist
179     mailcommon
180     templateparser
181     ${KDEPIMLIBS_KPIMIDENTITIES_LIBS}
182     ${KDEPIMLIBS_KONTACTINTERFACE_LIBS}
183     ${KDE4_PHONON_LIBRARY}
184     ${KDE4_KNOTIFYCONFIG_LIBRARY}
185     ${KDEPIMLIBS_MAILTRANSPORT_LIBS}
186     ${KDEPIMLIBS_KIMAP_LIBS}
187     ${KDE4_KPARTS_LIBRARY}
188     ${KDEPIMLIBS_KRESOURCES_LIBS}
189     ${KDE4_KCMUTILS_LIBS}
190     kleo
191     ${QGPGME_LIBRARIES}
192     ksieve
193     ksieveui
194     kpgp
195     kdepim
196     ${KDE4_KIO_LIBS}
197     ${KDE4_SOLID_LIBS}
198     ${KDEPIMLIBS_KABC_LIBS}
199     ${KDEPIMLIBS_KPIMUTILS_LIBS}
200     ${KDEPIMLIBS_KPIMTEXTEDIT_LIBS}
201     messageviewer
202     akonadi_next
203     ${SOPRANO_LIBRARIES}
204     niefast_apps
205     ${QT_QTWEBKIT_LIBRARY}
206     ${QT_QTSCRIPT_LIBRARY}
207     ${NEPOMUK_LIBRARIES}
208     ${NEPOMUK_QUERY_LIBRARIES}
209   )
211   set_target_properties(kmailprivate
212     PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}
213   )
215   ########### kcm_kmail ###############
217   set(kcm_kmail_PART_SRCS kcm_kmail.cpp )
218   kde4_add_plugin(kcm_kmail ${kcm_kmail_PART_SRCS})
219   target_link_libraries(kcm_kmail ${KDE4_KDEUI_LIBS} kmailprivate )
221   ########### kmailpart ###############
223   set(kmailpart_PART_SRCS kmail_part.cpp )
224   qt4_generate_dbus_interface(kmail_part.h org.kde.kmail.kmailpart.xml OPTIONS -a)
225   qt4_add_dbus_adaptor(kmailpart_PART_SRCS
226     ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmailpart.xml kmail_part.h KMailPart
227   )
228   qt4_add_dbus_interfaces(kmailpart_PART_SRCS ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmailpart.xml)
229   kde4_add_plugin(kmailpart ${kmailpart_PART_SRCS})
230   target_link_libraries(kmailpart
231     ${KDE4_KDECORE_LIBS}
232     ${KDEPIMLIBS_AKONADI_LIBS}
233     kmailprivate
234     mailcommon
235     ${KDE4_KPARTS_LIBS}
236     ${KDE4_KCMUTILS_LIBS}
237   )
239   ########### KMail executable ###############
241   set(kmail_SRCS main.cpp)
242   kde4_add_app_icon(kmail_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi*-apps-kmail.png")
243   kde4_add_executable(kmail ${kmail_SRCS})
244   target_link_libraries(kmail
245     ${KDE4_KDEUI_LIBS}
246     ${KDE4_KDECORE_LIBS}
247     ${KDEPIMLIBS_KONTACTINTERFACE_LIBS}
248     kmailprivate
249     kdepim
250     ${QT_QTSCRIPT_LIBRARY}
251   )
254   ########### install files ###############
256   install(TARGETS kmailprivate ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP)
258   install(TARGETS kmail ${INSTALL_TARGETS_DEFAULT_ARGS})
260   install(PROGRAMS KMail2.desktop kmail_view.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
261   install(FILES
262     ${CMAKE_CURRENT_BINARY_DIR}/kmail.kcfg
263     DESTINATION ${KCFG_INSTALL_DIR}
264   )
265   install(FILES kmail.antispamrc kmail.antivirusrc  DESTINATION ${CONFIG_INSTALL_DIR})
266   install(FILES tips  DESTINATION ${DATA_INSTALL_DIR}/kmail2)
267   install(FILES
268     kmail_config_misc.desktop
269     kmail_config_appearance.desktop
270     kmail_config_identity.desktop
271     kmail_config_accounts.desktop
272     kmail_config_composer.desktop
273     kmail_config_security.desktop
274     DESTINATION ${SERVICES_INSTALL_DIR}
275   )
276   install(FILES
277     kmcomposerui.rc
278     kmmainwin.rc
279     kmreadermainwin.rc
280     kmail2.notifyrc
281     kmail_part.rc
282     DESTINATION ${DATA_INSTALL_DIR}/kmail2
283   )
284   install(FILES dbusmail.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
285   install(TARGETS
286     kmailpart
287     kcm_kmail
288     DESTINATION ${PLUGIN_INSTALL_DIR}
289   )
290   install(FILES
291     ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmailpart.xml
292     ${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml
293     DESTINATION ${DBUS_INTERFACES_INSTALL_DIR}
294   )
296   install( FILES kmail_addattachmentservicemenu.desktop DESTINATION
297     ${SERVICES_INSTALL_DIR}/ServiceMenus)
299 endif (NOT WINCE AND KDEPIM_BUILD_DESKTOP)
300