summaryrefslogtreecommitdiffstats
path: root/kmail/CMakeLists.txt
blob: ac30ce6697d3fd237a45555728214e3c5a3a1096 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
#################################################
#
#  (C) 2010-2011 Serghei Amelian
#  serghei (DOT) amelian (AT) gmail.com
#
#  Improvements and feedback are welcome
#
#  This file is released under GPL >= 2
#
#################################################

project( kmail )

if( WITH_INDEXLIB )
  tde_import( indexlib )
  add_definitions( -DHAVE_INDEXLIB )
  set( INDEX_LIBRARY index-shared )
endif( )

tde_import( libtdenetwork )
tde_import( certmanager )
tde_import( ktnef )
tde_import( libkcal )
tde_import( libkmime )
tde_import( libkpgp )
tde_import( libtdepim )
tde_import( mimelib )
tde_import( libkpimidentities )
tde_import( libksieve )

set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions" )

add_subdirectory( interfaces )
add_subdirectory( about )
add_subdirectory( pics )
add_subdirectory( profiles )
add_subdirectory( avscripts )
add_subdirectory( konqueror )

include_directories(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${CMAKE_BINARY_DIR}
  ${CMAKE_SOURCE_DIR}
  ${CMAKE_SOURCE_DIR}/libemailfunctions
  ${CMAKE_SOURCE_DIR}/mimelib
  ${CMAKE_SOURCE_DIR}/libkmime
  ${CMAKE_SOURCE_DIR}/libtdepim
  ${CMAKE_SOURCE_DIR}/libkpgp
  ${CMAKE_SOURCE_DIR}/libtdenetwork
  ${CMAKE_SOURCE_DIR}/certmanager/lib
  ${CMAKE_SOURCE_DIR}/libksieve
  ${CMAKE_SOURCE_DIR}/ktnef
  ${CMAKE_SOURCE_DIR}/korganizer
  ${TDE_INCLUDE_DIR}
  ${TQT_INCLUDE_DIRS}
  ${GPGME_INCLUDE_DIRS}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
)


##### headers ###################################

install( FILES
    kmailIface.h kmailpartIface.h kmailicalIface.h
  DESTINATION ${INCLUDE_INSTALL_DIR} )


##### other data ################################

tde_install_icons( )

install( FILES
    KMail.desktop kmail_view.desktop
  DESTINATION ${XDG_APPS_INSTALL_DIR} )

install( FILES
    kmcomposerui.rc kmmainwin.rc kmreadermainwin.rc
    eventsrc kmail_part.rc
  DESTINATION ${DATA_INSTALL_DIR}/kmail )

install( FILES
    kmail.upd
  DESTINATION ${KCONF_UPDATE_INSTALL_DIR} )

install( PROGRAMS
    upgrade-transport.pl kmail-pgpidentity.pl
    upgrade-signature.pl kmail-upd-identities.pl
    kmail-3.1-use-UOID-for-identities.pl
    kmail-3.1-update-new-mail-notification-settings.pl
    kmail-3.1.4-dont-use-UOID-0-for-any-identity.pl
    kmail-3.2-update-loop-on-goto-unread-settings.sh
    kmail-3.2-misc.sh kmail-3.3-use-ID-for-accounts.pl
    kmail-3.3-move-identities.pl kmail-3.3-aegypten.pl
    kmail-3.3-split-sign-encr-keys.sh kmail-3.3-misc.pl
    kmail-3.3b1-misc.pl kmail-3.4-misc.pl
    kmail-3.4.1-update-status-filters.pl
    kmail-3.5-filter-icons.pl kmail-3.5-trigger-flag-migration.pl
  DESTINATION ${KCONF_UPDATE_INSTALL_DIR} )

install( FILES
    kmail.antispamrc kmail.antivirusrc
  DESTINATION ${CONFIG_INSTALL_DIR} )

install( FILES
    tips
  DESTINATION ${DATA_INSTALL_DIR}/kmail )

install( FILES
    dcopmail.desktop dcopimap.desktop
  DESTINATION ${SERVICETYPES_INSTALL_DIR} )

install( FILES
    kmail_config_misc.desktop kmail_config_appearance.desktop
    kmail_config_identity.desktop kmail_config_accounts.desktop
    kmail_config_composer.desktop kmail_config_security.desktop
  DESTINATION ${SERVICES_INSTALL_DIR} )

install( FILES
    kmail.kcfg replyphrases.kcfg custommimeheader.kcfg
    templatesconfiguration_kfg.kcfg customtemplates_kfg.kcfg
  DESTINATION ${KCFG_INSTALL_DIR} )

install( FILES
    application_octetstream.desktop
  DESTINATION ${DATA_INSTALL_DIR}/kmail/plugins/bodypartformatter )


##### kmailprivate (shared) #####################

set( target kmailprivate )

set( ${target}_SRCS
  kmmessage.cpp kmmainwin.cpp configuredialog.cpp configuredialog_p.cpp
  tdelistviewindexedsearchline.cpp simplestringlisteditor.cpp index.cpp headeritem.cpp
  identitydrag.cpp identitylistview.cpp identitydialog.cpp kmfolderdia.cpp kmmsgdict.cpp
  kmfoldertree.cpp kmtransport.cpp kmfoldercombobox.cpp kmaccount.cpp kmheaders.cpp
  kmcomposewin.cpp kmfolder.cpp kmmsgpartdlg.cpp kmreaderwin.cpp htmlstatusbar.cpp
  kmgroupware.cpp folderstorage.cpp listjob.cpp csshelper.cpp tdelistboxdialog.cpp
  kmmsginfo.cpp actionscheduler.cpp messageproperty.cpp accountmanager.cpp kmacctfolder.cpp
  kmdict.cpp kmsystemtray.cpp kmacctlocal.cpp kmfolderdir.cpp kmfoldermgr.cpp
  kmfoldernode.cpp kmsender.cpp kmacctseldlg.cpp kmfiltermgr.cpp kmfilterdlg.cpp
  filterimporterexporter.cpp kmsearchpatternedit.cpp encodingdetector.cpp encodingdetector_ja.cpp
  kmfilteraction.cpp kmsearchpattern.cpp kmfolderimap.cpp kmfolderseldlg.cpp kmfilter.cpp
  kmmsgpart.cpp kmmsgbase.cpp kmmsglist.cpp kmaddrbook.cpp signatureconfigurator.cpp
  xfaceconfigurator.cpp networkaccount.cpp imapaccountbase.cpp popaccount.cpp kmservertest.cpp
  kmacctimap.cpp kmacctcachedimap.cpp kmfawidgets.cpp kmfoldermbox.cpp colorlistbox.cpp
  undostack.cpp kmfoldercachedimap.cpp attachmentstrategy.cpp kmfoldermaildir.cpp
  kmkernel.cpp accountdialog.cpp searchwindow.cpp vcardviewer.cpp vacationdialog.cpp
  vacation.cpp sievedebugdialog.cpp sieveconfig.cpp sievejob.cpp kmpopheaders.cpp
  kmpopfiltercnfrmdlg.cpp kmmimeparttree.cpp mailinglist-magic.cpp kmacctmaildir.cpp
  headerstyle.cpp headerstrategy.cpp tdehtmlparthtmlwriter.cpp filehtmlwriter.cpp
  teehtmlwriter.cpp mailcomposerIface.skel objecttreeparser.cpp objecttreeparser_p.cpp
  attachmentcollector.cpp bodypartformatterfactory.cpp bodypartformatter.cpp partNode.cpp
  mailsourceviewer.cpp kmcommands.cpp kmreadermainwin.cpp kmstartup.cpp kmmainwidget.cpp
  folderpropertiesdialog.ui kmfolderindex.cpp kmfoldersearch.cpp transportmanager.cpp
  imapjob.cpp folderjob.cpp cachedimapjob.cpp maildirjob.cpp mboxjob.cpp subscriptiondialog.cpp
  kmailicalifaceimpl.cpp aboutdata.cpp folderIface.cpp folderIface.skel mailserviceimpl.cpp
  attachmentlistview.cpp kmedit.cpp kmlineeditspell.cpp kmatmlistview.cpp composer.cpp
  isubject.cpp bodyvisitor.cpp antispamwizard.cpp urlhandlermanager.cpp dictionarycombobox.cpp
  secondarywindow.cpp filterlog.cpp filterlogdlg.cpp messagecomposer.cpp keyresolver.cpp
  globalsettings.cpp globalsettings_base.kcfgc regexplineedit.cpp rulewidgethandlermanager.cpp
  headerlistquicksearch.cpp acljobs.cpp folderdiaacltab.cpp quotajobs.cpp expirejob.cpp
  folderdiaquotatab.cpp folderdiaquotatab_p.cpp jobscheduler.cpp partnodebodypart.cpp
  compactionjob.cpp callback.cpp searchjob.cpp renamejob.cpp composercryptoconfiguration.ui
  warningconfiguration.ui smimeconfiguration.ui annotationjobs.cpp accountcombobox.cpp
  redirectdialog.cpp foldershortcutdialog.cpp folderrequester.cpp spamheaderanalyzer.cpp
  antispamconfig.cpp replyphrases.kcfgc custommimeheader.kcfgc recipientseditor.cpp
  recipientspicker.cpp twindowpositioner.cpp textsource.cpp distributionlistdialog.cpp
  expirypropertiesdialog.cpp scalix.cpp mailinglistpropertiesdialog.cpp newfolderdialog.cpp
  accountwizard.cpp managesievescriptsdialog.cpp chiasmuskeyselector.cpp
  util.cpp templatesinsertcommand.cpp customtemplates_base.ui customtemplates.cpp
  customtemplates_kfg.kcfgc templatesconfiguration_base.ui templatesconfiguration.cpp
  templatesconfiguration_kfg.kcfgc templateparser.cpp copyfolderjob.cpp messagecopyhelper.cpp
  localsubscriptiondialog.cpp editorwatcher.cpp favoritefolderview.cpp
  foldertreebase.cpp snippetdlgbase.ui snippetwidget.cpp snippetconfig.cpp
  snippetdlg.cpp snippetitem.cpp snippetsettings.cpp snippetsettingsbase.ui
  messageactions.cpp korghelper.cpp foldersetselector.cpp stringutil.cpp
  treebase.cpp backupjob.cpp importjob.cpp folderutil.cpp archivefolderdialog.cpp
  importarchivedialog.cpp ${CMAKE_SOURCE_DIR}/korganizer/kcalendariface.stub
  ${CMAKE_SOURCE_DIR}/korganizer/korganizeriface.stub )

tde_save( KDE3_DCOPIDL_EXECUTABLE )
set( KDE3_DCOPIDL_EXECUTABLE ${KDE3_DCOPIDLNG_EXECUTABLE} )
tde_add_dcop_skels( ${target}_SRCS kmailIface.h kmailicalIface.h )
tde_restore( KDE3_DCOPIDL_EXECUTABLE )

add_custom_target( kmail_settings_base
  DEPENDS
    ${CMAKE_BINARY_DIR}/kmail/globalsettings_base.h
    ${CMAKE_BINARY_DIR}/kmail/customtemplates_base.h
    ${CMAKE_BINARY_DIR}/kmail/templatesconfiguration_base.h
)

tde_add_library( ${target} SHARED AUTOMOC
  SOURCES ${${target}_SRCS}
  LINK
    emailfunctions-static kmime-shared kpgp-shared tdepim-shared kpimidentities-shared
    mimelib-shared ksieve-shared tdehtml-shared ${INDEX_LIBRARY}
  DESTINATION ${LIB_INSTALL_DIR}
  DEPENDENCIES kmail_settings_base
)


##### kmail (executable) ########################

tde_add_executable( kmail
  SOURCES main.cpp
  LINK kmailprivate-shared
  DESTINATION ${BIN_INSTALL_DIR}
)


##### kcm_kmail (module) ########################

tde_add_kpart( kcm_kmail AUTOMOC
  SOURCES kcm_kmail.cpp
  LINK kmailprivate-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)


##### libkmailpart (module) #####################

tde_add_kpart( libkmailpart AUTOMOC
  SOURCES kmailpartIface.skel kmail_part.cpp
  LINK kmailprivate-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)


##### libkmail_bodypartformatter_application_octetstream (module)

tde_add_kpart( libkmail_bodypartformatter_application_octetstream
  SOURCES app_octetstream.cpp
  LINK ${TQT_LIBRARIES}
  DESTINATION ${PLUGIN_INSTALL_DIR}
)


##### install import cmake modules ###############

tde_install_export( )