summaryrefslogtreecommitdiff
blob: aaa8381005a7661e3bc3ae85768f9a09fc5ee0da (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
diff -ruN plasma-workspace-4.6.2.orig/plasma/generic/dataengines/CMakeLists.txt plasma-workspace-4.6.2/plasma/generic/dataengines/CMakeLists.txt
--- plasma-workspace-4.6.2.orig/plasma/generic/dataengines/CMakeLists.txt	2011-02-25 23:10:02.000000000 +0100
+++ plasma-workspace-4.6.2/plasma/generic/dataengines/CMakeLists.txt	2011-04-02 13:59:01.919795444 +0200
@@ -25,10 +25,15 @@
 endif (NEPOMUK_FOUND)
 
 macro_optional_find_package(KdepimLibs 4.5.60)
-macro_log_feature(KDEPIMLIBS_FOUND "kdepimlibs" "KDE PIM libraries" "http://www.kde.org" FALSE "" "Needed for building several plasma dataengines")
+macro_log_feature(KDEPIMLIBS_FOUND "kdepimlibs" "KDE PIM libraries" "http://www.kde.org" FALSE "" "Needed for building several Plasma DataEngines")
+
+macro_optional_find_package(Akonadi)
+macro_log_feature(AKONADI_FOUND "Akonadi" "Akonadi libraries" "http://pim.kde.org/akonadi/" FALSE "" "Needed for event support in the calendar DataEngine")
 
 if(KDEPIMLIBS_FOUND)
-   add_subdirectory(akonadi)
+   if(AKONADI_FOUND)
+      add_subdirectory(akonadi)
+   endif(AKONADI_FOUND)
    add_subdirectory(calendar)
    add_subdirectory(rss)
 endif(KDEPIMLIBS_FOUND)
diff -ruN plasma-workspace-4.6.2.orig/plasma/generic/dataengines/calendar/CMakeLists.txt plasma-workspace-4.6.2/plasma/generic/dataengines/calendar/CMakeLists.txt
--- plasma-workspace-4.6.2.orig/plasma/generic/dataengines/calendar/CMakeLists.txt	2011-04-01 12:52:43.000000000 +0200
+++ plasma-workspace-4.6.2/plasma/generic/dataengines/calendar/CMakeLists.txt	2011-04-02 14:02:09.274795409 +0200
@@ -1,7 +1,6 @@
 project(calendar_engine)
 
 find_package(KdepimLibs REQUIRED)
-find_package(Akonadi REQUIRED)
 find_package(Boost REQUIRED)
 
 include_directories(
@@ -14,16 +13,22 @@
 
 set(calendar_engine_srcs
     calendarengine.cpp
-    eventdatacontainer.cpp
-# taken from kdepim/akonadi/kcal as long as it's not yet exported:
-    akonadi/calendar.cpp
-    akonadi/calendarmodel.cpp
-    akonadi/calfilterproxymodel.cpp
-    akonadi/utils.cpp
-    akonadi/blockalarmsattribute.cpp
-    akonadi/collectionselection.cpp
 )
 
+if(AKONADI_FOUND)
+     ADD_DEFINITIONS(-DAKONADI_FOUND)
+     set(calendar_engine_srcs ${calendar_engine_srcs}
+	eventdatacontainer.cpp
+	# taken from kdepim/akonadi/kcal as long as it's not yet exported:
+	akonadi/calendar.cpp
+	akonadi/calendarmodel.cpp
+	akonadi/calfilterproxymodel.cpp
+	akonadi/utils.cpp
+	akonadi/blockalarmsattribute.cpp
+	akonadi/collectionselection.cpp
+     )
+endif(AKONADI_FOUND)
+
 kde4_add_plugin(plasma_engine_calendar ${calendar_engine_srcs})
 
 target_link_libraries(
@@ -31,13 +36,19 @@
     ${KDEPIMLIBS_KHOLIDAYS_LIBRARY}
     ${KDE4_KDECORE_LIBS}
     ${KDE4_PLASMA_LIBS}
-    ${KDE4_AKONADI_LIBS}
     ${KDE4_KMIME_LIBS}
     ${KDE4_KCALCORE_LIBS}
     ${KDE4_KCALUTILS_LIBS}
-    ${KDEPIMLIBS_AKONADI_KCAL_LIBS}
 )
 
+if(AKONADI_FOUND)
+    target_link_libraries(
+        plasma_engine_calendar
+        ${KDE4_AKONADI_LIBS}
+        ${KDEPIMLIBS_AKONADI_KCAL_LIBS}
+    )
+endif(AKONADI_FOUND)
+
 install(TARGETS plasma_engine_calendar DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-dataengine-calendar.desktop DESTINATION ${SERVICES_INSTALL_DIR})
 
diff -ruN plasma-workspace-4.6.2.orig/plasma/generic/dataengines/calendar/calendarengine.cpp plasma-workspace-4.6.2/plasma/generic/dataengines/calendar/calendarengine.cpp
--- plasma-workspace-4.6.2.orig/plasma/generic/dataengines/calendar/calendarengine.cpp	2011-02-25 23:10:02.000000000 +0100
+++ plasma-workspace-4.6.2/plasma/generic/dataengines/calendar/calendarengine.cpp	2011-04-02 13:59:01.920795444 +0200
@@ -32,6 +32,7 @@
 #include <KCalCore/Todo>
 #include <KCalCore/Journal>
 
+#ifdef AKONADI_FOUND
 #include <Akonadi/ChangeRecorder>
 #include <Akonadi/Session>
 #include <Akonadi/Collection>
@@ -41,6 +42,7 @@
 #include "akonadi/calendar.h"
 #include "akonadi/calendarmodel.h"
 #include "eventdatacontainer.h"
+#endif
 
 CalendarEngine::CalendarEngine(QObject* parent, const QVariantList& args)
               : Plasma::DataEngine(parent),
@@ -74,9 +76,11 @@
         return holidayCalendarSourceRequest(requestKey, requestTokens, request);
     }
 
+#ifdef AKONADI_FOUND
     if (requestKey == "events" || requestKey == "eventsInMonth") {
         return akonadiCalendarSourceRequest(requestKey, requestTokens, request);
     }
+#endif
 
     return false;
 }
@@ -272,6 +276,7 @@
     return false;
 }
 
+#ifdef AKONADI_FOUND
 bool CalendarEngine::akonadiCalendarSourceRequest(const QString& key, const QStringList& args, const QString& request)
 {
     // figure out what time range was requested from the source string
@@ -339,5 +344,6 @@
     calendarModel->setCollectionFetchStrategy(Akonadi::EntityTreeModel::InvisibleCollectionFetch);
     m_calendar = new CalendarSupport::Calendar(calendarModel, calendarModel, KSystemTimeZones::local());
 }
+#endif
 
 #include "calendarengine.moc"