summaryrefslogtreecommitdiffstats
path: root/korganizer/CMakeLists.txt
blob: a5e8aff1ce96cb6b7602e2179cbbe62fb99413f5 (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
#################################################
#
#  (C) 2010-2011 Serghei Amelian
#  serghei (DOT) amelian (AT) gmail.com
#
#  Improvements and feedback are welcome
#
#  This file is released under GPL >= 2
#
#################################################

project( korganizer )

include( ConfigureChecks.cmake )
configure_file( ical2vcal.in ical2vcal @ONLY )

tde_import( libtdepim )
tde_import( libkmime )
tde_import( ktnef )
tde_import( libkcal )
tde_import( libtdenetwork )
tde_import( certmanager )
tde_import( libkpimidentities )
tde_import( libkholidays )

add_subdirectory( printing )
add_subdirectory( korgac )
add_subdirectory( pixmaps )
add_subdirectory( sounds )
add_subdirectory( plugins )
add_subdirectory( interfaces )

include_directories(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}/interfaces
  ${CMAKE_CURRENT_SOURCE_DIR}/printing
  ${CMAKE_BINARY_DIR}
  ${CMAKE_SOURCE_DIR}
  ${CMAKE_SOURCE_DIR}/libkholidays
  ${CMAKE_SOURCE_DIR}/libtdepim
  ${CMAKE_SOURCE_DIR}/certmanager/lib
  ${TDE_INCLUDE_DIR}
  ${TQT_INCLUDE_DIRS}
)

link_directories(
  ${TQT_LIBRARY_DIRS}
)


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

tde_install_icons( )

install( FILES
    korganizer.desktop
  DESTINATION ${XDG_APPS_INSTALL_DIR} )

install( FILES
    dcopcalendar.desktop
  DESTINATION ${SERVICETYPES_INSTALL_DIR} )

install( FILES
    korganizer_configmain.desktop korganizer_configtime.desktop
    korganizer_configviews.desktop korganizer_configcolors.desktop
    korganizer_configfonts.desktop korganizer_configplugins.desktop
    korganizer_configgroupscheduling.desktop korganizer_configfreebusy.desktop
    korganizer_configdesignerfields.desktop webcal.protocol
  DESTINATION ${SERVICES_INSTALL_DIR} )

install( FILES
    uninstall.desktop
  RENAME korganizer_configgroupautomation.desktop
  DESTINATION ${SERVICES_INSTALL_DIR} )

install( FILES
    uninstall.desktop
  RENAME webexport.desktop
  DESTINATION ${SERVICES_INSTALL_DIR}/korganizer )

install( FILES
    uninstall.desktop
  RENAME holidays.desktop
  DESTINATION ${SERVICES_INSTALL_DIR}/korganizer )

install( FILES
    korganizer.kcfg
  DESTINATION ${KCFG_INSTALL_DIR} )

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

install( FILES
    tips korganizerui.rc korganizer_part.rc
  DESTINATION ${DATA_INSTALL_DIR}/korganizer )

install( PROGRAMS
    ${CMAKE_CURRENT_BINARY_DIR}/ical2vcal
  DESTINATION ${BIN_INSTALL_DIR} )


##### korganizer (executable) ###################

tde_add_executable( korganizer AUTOMOC
  SOURCES main.cpp korganizer.cpp koapp.cpp
  LINK korganizer-shared
  DESTINATION ${BIN_INSTALL_DIR}
)


##### kcm_korganizer (module) ###################

tde_add_kpart( kcm_korganizer AUTOMOC
  SOURCES koprefsdialog.cpp
  LINK korganizer-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)


##### libkorganizerpart (module) ################

tde_add_kpart( libkorganizerpart AUTOMOC
  SOURCES korganizer_part.cpp
  LINK korganizer-shared
  DESTINATION ${PLUGIN_INSTALL_DIR}
)


##### korganizer_calendar (shared) ##############

tde_add_library( korganizer_calendar SHARED
  SOURCES stdcalendar.cpp
  VERSION 1.0.0
  LINK tdepim-shared kcal-shared
  DESTINATION ${LIB_INSTALL_DIR}
)


##### korganizer_eventviewer (shared) ###########

set( target korganizer_eventviewer )

set( ${target}_SRCS
  koeventviewer.cpp urihandler.cpp koeventviewerdialog.cpp )

tde_save( KDE3_DCOPIDL_EXECUTABLE )
set( KDE3_DCOPIDL_EXECUTABLE ${KDE3_DCOPIDLNG_EXECUTABLE} )
tde_add_dcop_stubs( ${target}_SRCS ${CMAKE_SOURCE_DIR}/kmail/kmailIface.h )
tde_restore( KDE3_DCOPIDL_EXECUTABLE )

tde_add_library( ${target} SHARED AUTOMOC
  SOURCES ${${target}_SRCS}
  VERSION 1.0.0
  LINK kcal-shared
  DESTINATION ${LIB_INSTALL_DIR}
)


##### helper ####################################

macro( process_kcfg _who _out _path _kcfg _kcfgc )
  add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_path}/${_out}
    COMMAND
      mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${_path}
    COMMAND ${KDE3_KCFGC_EXECUTABLE}
      -d ${CMAKE_CURRENT_BINARY_DIR}/${_path}
      ${CMAKE_SOURCE_DIR}/${_path}/${_kcfg}
      ${CMAKE_SOURCE_DIR}/${_path}/${_kcfgc}
    DEPENDS
      ${CMAKE_SOURCE_DIR}/${_path}/${_kcfg}
      ${CMAKE_SOURCE_DIR}/${_path}/${_kcfgc} )
  set_property( SOURCE ${_who} APPEND
    PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_path}/${_out} )
endmacro( )


##### korganizer (shared) #######################

process_kcfg( calendarview.cpp htmlexportsettings.h libkcal
  htmlexportsettings.kcfg htmlexportsettings.kcfgc )

tde_add_library( korganizer SHARED AUTOMOC
  META_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/interfaces/korganizer
  SOURCES
    komessagebox.cpp koagendaview.cpp koagenda.cpp koagendaitem.cpp
    datenavigator.cpp kdatenavigator.cpp datenavigatorcontainer.cpp
    datechecker.cpp komonthview.cpp searchdialog.cpp calendarview.cpp
    koviewmanager.cpp kodialogmanager.cpp archivedialog.cpp kohelper.cpp
    komailclient.cpp kotodoview.cpp kotodoviewitem.cpp kolistview.cpp
    koincidenceeditor.cpp koeventeditor.cpp kotodoeditor.cpp kojournaleditor.cpp
    koprefs.cpp kowindowlist.cpp koeditorgeneral.cpp koeditorgeneralevent.cpp
    koeditorgeneraltodo.cpp koeditorgeneraljournal.cpp koeditordetails.cpp
    koeditoralarms_base.ui koeditoralarms.cpp koeditorrecurrence.cpp
    koeditorattachments.cpp kogroupwareprefspage.ui koeventpopupmenu.cpp
    koeditorfreebusy.cpp publishdialog_base.ui publishdialog.cpp
    koeventview.cpp korganizeriface.skel kcalendariface.skel filtereditdialog.cpp
    filteredit_base.ui kowhatsnextview.cpp kojournalview.cpp journalentry.cpp
    kocore.cpp mailscheduler.cpp kodaymatrix.cpp docprefs.cpp statusdialog.cpp
    koglobals.cpp konewstuff.cpp actionmanager.cpp resourceview.cpp
    navigatorbar.cpp kogroupware.cpp history.cpp koprefs_base.kcfgc
    koincidencetooltip.cpp aboutdata.cpp importdialog.cpp previewdialog.cpp
    korganizerifaceimpl.cpp freebusymanager.cpp freebusyurldialog.cpp
    eventarchiver.cpp koidentitymanager.cpp exportwebdialog.cpp
    kocorehelper.cpp incidencechanger.cpp template_management_dialog_base.ui
    templatemanagementdialog.cpp agendaview.cpp multiagendaview.cpp
    timelineitem.cpp kotimelineview.cpp koattendeeeditor.cpp timelabels.cpp
  VERSION 1.0.0
  LINK
    kdgantt-static
    korganizer_eventviewer-shared korganizer_calendar-shared korg_stdprinting-shared
    kholidays-shared kpimidentities-shared
    tdeutils-shared tdenewstuff-shared
  DESTINATION ${LIB_INSTALL_DIR}
)


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

tde_install_export( )