Remove grantlee_strings_extractor.pyc
[kdepim.git] / korganizer / CMakeLists.txt
blobba92c43428e04316d469e0fdb7c4a3dbc8609c92
1 project(korganizer)
3 add_definitions( -DQT_NO_CAST_FROM_ASCII )
4 add_definitions( -DQT_NO_CAST_TO_ASCII )
5 add_definitions(-DTRANSLATION_DOMAIN=\"korganizer\")
7 include_directories(
8   ${CMAKE_CURRENT_BINARY_DIR}
11 if(BUILD_TESTING)
12    add_subdirectory(tests)
13    add_subdirectory(autotests)
14 endif()
15 add_subdirectory(interfaces)
16 add_subdirectory(pixmaps)
17 add_subdirectory(sounds)
18 add_subdirectory(plugins)
19 add_subdirectory(kcmconfigs)
20 add_subdirectory(kontactplugin)
21 add_subdirectory(views/collectionview)
22 add_subdirectory(kconf_update)
24 set(PERL ${PERL_EXECUTABLE})
25 configure_file(
26   ${CMAKE_CURRENT_SOURCE_DIR}/data/ical2vcal.cmake ${CMAKE_CURRENT_BINARY_DIR}/ical2vcal @ONLY
29 ########### next target ###############
31 set(korganizer_common_SRCS)
32 ecm_qt_declare_logging_category(korganizer_common_SRCS HEADER korganizer_debug.h IDENTIFIER KORGANIZER_LOG CATEGORY_NAME log_korganizer)
34 set(korganizer_SRCS
35   main.cpp
36   korganizer.cpp
37   koapp.cpp
38   ${korganizer_common_SRCS}
41 file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/*-apps-korganizer.png")
42 ecm_add_app_icon(korganizer_SRCS ICONS ${ICONS_SRCS})
44 add_executable(korganizer ${korganizer_SRCS})
46 target_link_libraries(korganizer
47   KF5::KontactInterface
48   KF5::CalendarCore
49   KF5::Libkdepim
50   KF5::KdepimDBusInterfaces
51   korganizerprivate
52   korganizer_interfaces
53   korganizer_core
56 install(TARGETS
57   korganizer ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
60 ########### next target ###############
62 set(kcm_korganizer_PART_SRCS
63   kcmdesignerfields.cpp
64   korganizer_debug.cpp
65   prefs/koprefsdialog.cpp
66   widgets/kitemiconcheckcombo.cpp
69 add_library(kcm_korganizer MODULE ${kcm_korganizer_PART_SRCS})
70 generate_export_header(kcm_korganizer BASE_NAME kcm_korganizer) 
72 target_link_libraries(kcm_korganizer
73   KF5::AkonadiCalendar
74   KF5::CalendarSupport 
75   KF5::EventViews
76   KF5::IncidenceEditorsng
77   KF5::Libkdepim
78   korganizer_core
79   korganizerprivate
80   Qt5::UiTools
81   KF5::CalendarCore
82   KF5::Holidays
83   KF5::MailTransport
84   Qt5::UiTools
85   KF5::PimCommon
88 install(TARGETS
89   kcm_korganizer
90   DESTINATION ${KDE_INSTALL_PLUGINDIR}
93 ########### next target ###############
95 set(korganizerpart_PART_SRCS korganizer_part.cpp korganizer_debug.cpp)
97 add_library(korganizerpart MODULE ${korganizerpart_PART_SRCS})
99 target_link_libraries(korganizerpart
100   KF5::CalendarSupport 
101   korganizer_core
102   korganizer_interfaces
103   korganizerprivate
104   KF5::AkonadiCore
105   KF5::CalendarCore
106   KF5::CalendarUtils
109 install(TARGETS
110   korganizerpart
111   DESTINATION ${KDE_INSTALL_PLUGINDIR}
115 ########### next target ###############
117 set(korganizer_core_LIB_SRCS
118   prefs/koprefs.cpp
119   kocore.cpp
120   ${korganizer_common_SRCS}
123 kconfig_add_kcfg_files(korganizer_core_LIB_SRCS settings/koprefs_base.kcfgc)
125 add_library(korganizer_core ${korganizer_core_LIB_SRCS})
126 generate_export_header(korganizer_core BASE_NAME korganizer_core)
128 target_link_libraries(korganizer_core
129 PUBLIC
130   korganizer_interfaces
131 PRIVATE
132   KF5::CalendarSupport 
133   KF5::EventViews
134   KF5::IdentityManagement
137 target_include_directories(korganizer_core PUBLIC
138   "$<BUILD_INTERFACE:${korganizer_SOURCE_DIR};${korganizer_BINARY_DIR}>"
141 set_target_properties(korganizer_core PROPERTIES
142   VERSION ${KDEPIM_LIB_VERSION}
143   SOVERSION ${KDEPIM_LIB_SOVERSION}
146 install(TARGETS
147   korganizer_core ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
150 ########### next target ###############
153 set(korganizerprivate_LIB_SRCS
154     ${korganizer_common_SRCS}
155     korgmigrateapplication.cpp
156     collectiongeneralpage.cpp
157     aboutdata.cpp
158     actionmanager.cpp
159     akonadicollectionview.cpp
160     views/collectionview/reparentingmodel.cpp
161     views/collectionview/controller.cpp
162     views/collectionview/calendardelegate.cpp
163     views/collectionview/quickview.cpp
164     calendarview.cpp
165     datechecker.cpp
166     datenavigator.cpp
167     datenavigatorcontainer.cpp
168     dialog/exportwebdialog.cpp
169     dialog/filtereditdialog.cpp
170     job/htmlexportjob.cpp
171     widgets/kdatenavigator.cpp
172     kocheckableproxymodel.cpp
173     kocorehelper.cpp
174     kodaymatrix.cpp
175     kodialogmanager.cpp
176     koeventpopupmenu.cpp
177     dialog/noteeditdialog.cpp
178     koeventview.cpp
179     dialog/koeventviewerdialog.cpp
180     koglobals.cpp
181     kohelper.cpp
182     impl/korganizerifaceimpl.cpp
183     koviewmanager.cpp
184     kowindowlist.cpp
185     widgets/navigatorbar.cpp
186     dialog/searchdialog.cpp
187     helper/searchcollectionhelper.cpp
188     views/agendaview/koagendaview.cpp
189     views/journalview/kojournalview.cpp
190     views/listview/kolistview.cpp
191     views/monthview/monthview.cpp
192     views/multiagendaview/multiagendaview.cpp
193     views/timelineview/kotimelineview.cpp
194     views/timespentview/kotimespentview.cpp
195     views/todoview/kotodoview.cpp
196     views/whatsnextview/kowhatsnextview.cpp
197   )
199 kconfig_add_kcfg_files(korganizerprivate_LIB_SRCS settings/htmlexportsettings.kcfgc)
201 ki18n_wrap_ui(korganizerprivate_LIB_SRCS
202     ui/filteredit_base.ui
203     ui/kogroupwareprefspage.ui
204     views/multiagendaview/multiagendaviewconfigwidget.ui
205     ui/searchdialog_base.ui
206     views/collectionview/quickview.ui
209 qt5_add_resources(korganizerprivate_LIB_SRCS
210     agendaitem_pixmaps/agendaitemtheme.qrc)
212 qt5_add_dbus_adaptor(korganizerprivate_LIB_SRCS
213     data/org.kde.korganizer.Korganizer.xml impl/korganizerifaceimpl.h
214     KOrganizerIfaceImpl
217 qt5_add_dbus_adaptor(korganizerprivate_LIB_SRCS
218     data/org.kde.Korganizer.Calendar.xml actionmanager.h
219     ActionManager calendaradaptor KOrgCalendarAdaptor
222 qt5_add_dbus_interfaces(korganizerprivate_LIB_SRCS
223     data/org.kde.korganizer.Korganizer.xml
226 qt5_add_dbus_interfaces(korganizerprivate_LIB_SRCS
227     ${CMAKE_SOURCE_DIR}/korgac/org.kde.korganizer.KOrgac.xml
230 qt5_add_dbus_interfaces(korganizerprivate_LIB_SRCS
231     ${CMAKE_SOURCE_DIR}/korganizer/data/org.kde.korganizer.Korganizer.xml
234 add_library(korganizerprivate ${korganizerprivate_LIB_SRCS})
235 generate_export_header(korganizerprivate BASE_NAME korganizerprivate)
237 target_link_libraries(korganizerprivate
238 PUBLIC
239     KF5::PimCommon
240 PRIVATE
241     KF5::CalendarSupport 
242     KF5::EventViews
243     KF5::IncidenceEditorsng
244     KF5::Libkdepim
245     KF5::KdepimDBusInterfaces
246     korganizer_core
247     korganizer_interfaces
248     KF5::AkonadiCore
249     KF5::AkonadiCalendar
250     KF5::AkonadiNotes
251     KF5::AkonadiSearchPIM
252     KF5::Contacts
253     KF5::CalendarCore
254     KF5::CalendarUtils
255     KF5::Holidays
256     KF5::Mime
257     KF5::IdentityManagement
258     KF5::KCMUtils
259     KF5::NewStuff
260     KF5::Ldap
261     KF5::MailCommon
264 target_include_directories(korganizerprivate PUBLIC
265     "$<BUILD_INTERFACE:${korganizer_SOURCE_DIR};${korganizer_BINARY_DIR}>"
268 set_target_properties(korganizerprivate PROPERTIES
269     VERSION ${KDEPIM_LIB_VERSION}
270     SOVERSION ${KDEPIM_LIB_SOVERSION}
273 install(TARGETS
274     korganizerprivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
275     LIBRARY NAMELINK_SKIP
278 ########### install files ###############
280 install(FILES
281     settings/korganizer.kcfg
282     DESTINATION ${KDE_INSTALL_KCFGDIR}
285 install(FILES
286     data/korganizer_part.rc
287     DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/korganizer
290 install(FILES
291     dbuscalendar.desktop
292     DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR}
295 install(FILES
296     korganizer_part.desktop data/webcal.protocol
297     DESTINATION ${KDE_INSTALL_KSERVICES5DIR}
300 install(FILES
301     data/korganizerui.rc
302     DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/korganizer
305 install(FILES
306     data/org.kde.Korganizer.Calendar.xml data/org.kde.korganizer.Korganizer.xml
307     DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR}
310 install(FILES
311     data/korganizer.knsrc
312     DESTINATION ${KDE_INSTALL_CONFDIR}
315 install(PROGRAMS
316     org.kde.korganizer.desktop korganizer-import.desktop
317     DESTINATION ${KDE_INSTALL_APPDIR}
320 install(FILES
321     korganizer.appdata.xml
322     DESTINATION ${KDE_INSTALL_METAINFODIR}
325 install(PROGRAMS
326     ${CMAKE_CURRENT_BINARY_DIR}/ical2vcal
327     DESTINATION ${KDE_INSTALL_BINDIR}