summaryrefslogtreecommitdiff
blob: 4b28be1722b1bc891b6349ec7b16ade13f761eb1 (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
--- telepathy-qt-0.9.0.orig/CMakeLists.txt	2011-12-20 21:33:46.000000000 +0100
+++ telepathy-qt-0.9.0/CMakeLists.txt	2012-01-24 23:32:57.000000000 +0100
@@ -73,6 +73,12 @@
 
 include(MacroLogFeature)
 
+# options
+option(WITH_Glib "Enable building with glib features" ON)
+option(WITH_Farsight "Enable building with farsight features" ON)
+option(ENABLE_DEBUG_OUTPUT "Compile support for printing debug output to stderr" ON)
+option(WITH_Test "Enable test suite" ON)
+
 # external dependencies
 
 # Required dependencies
@@ -108,31 +114,9 @@
 
 add_definitions(-DQT_NO_CAST_FROM_ASCII)
 
-set(ENABLE_DEBUG_OUTPUT ON CACHE BOOL "If activated, compiles support for printing debug output to stderr")
-if (ENABLE_DEBUG_OUTPUT)
+if(ENABLE_DEBUG_OUTPUT)
     add_definitions(-DENABLE_DEBUG)
-endif (ENABLE_DEBUG_OUTPUT)
-
-# Check for Qt Glib support
-include(CheckCXXSourceCompiles)
-set(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES})
-set(CMAKE_REQUIRED_DEFINITIONS "")
-set(CMAKE_REQUIRED_FLAGS "")
-
-CHECK_CXX_SOURCE_COMPILES("
-#include <QtCore/QtGlobal>
-int main()
-{
-#if defined(QT_NO_GLIB)
-#error \"Qt was compiled with Glib disabled\"
-#endif
-return 0;
-}"
-QT_GLIB_SUPPORT)
-macro_log_feature(QT_GLIB_SUPPORT "Qt Glib Support"
-                  "QtCore library using Glib's main event loop"
-                  "http://qt.nokia.com/" FALSE ""
-                  "Needed, together with Telepathy-Glib, to build most of the unit tests")
+endif(ENABLE_DEBUG_OUTPUT)
 
 # Find python version >= 2.5
 find_package(PythonLibrary REQUIRED)
@@ -158,63 +142,100 @@
 
 # Find GLib2, GObject, DBus and LibXml2
 # Those are needed for the insane include dir dependency hell
-find_package(GLIB2)
-find_package(GObject)
-find_package(GIO)
-find_package(GIOUnix)
-find_package(DBus)
-find_package(DBusGLib)
-find_package(LibXml2)
-
-# Find tp-farsight
-set(TELEPATHY_FARSIGHT_MIN_VERSION "0.0.4")
-find_package(TelepathyFarsight)
-macro_log_feature(TELEPATHYFARSIGHT_FOUND "Telepathy-Farsight"
-                  "A Framework for dealing with audio/video conferencing protocols"
-                  "http://farsight.freedesktop.org/wiki/" FALSE "0.0.4"
-                  "Needed, together with GStreamer, to build telepathy-qt-farsight and some additional examples")
-
-# Find GStreamer
-find_package(GStreamer)
-macro_log_feature(GSTREAMER_FOUND "GStreamer"
-                  "An open source multimedia framework"
-                  "Needed, together with Tp-Farsight, to build telepathy-qt-farsight and some additional examples"
-                  "http://www.gstreamer.net/" FALSE)
-
-# Build TelepathyQt-Farsight only if GStreamer, TelepathyFarsight and all of their dependencies were found
-if (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
-    set (FARSIGHT_COMPONENTS_FOUND 1)
-else (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
+if (WITH_Farsight)
+    find_package(GLIB2)
+    find_package(GObject)
+    find_package(DBus)
+    find_package(DBusGLib)
+    find_package(LibXml2)
+
+    # Find tp-farsight
+    set(TELEPATHY_FARSIGHT_MIN_VERSION "0.0.4")
+    find_package(TelepathyFarsight)
+    macro_log_feature(TELEPATHYFARSIGHT_FOUND "Telepathy-Farsight"
+		      "A Framework for dealing with audio/video conferencing protocols"
+		      "http://farsight.freedesktop.org/wiki/" FALSE "0.0.4"
+		      "Needed, together with GStreamer, to build telepathy-qt-farsight and some additional examples")
+
+    # Find GStreamer
+    find_package(GStreamer)
+    macro_log_feature(GSTREAMER_FOUND "GStreamer"
+		      "An open source multimedia framework"
+		      "Needed, together with Tp-Farsight, to build telepathy-qt-farsight and some additional examples"
+		      "http://www.gstreamer.net/" FALSE)
+
+    # Build TelepathyQt-Farsight only if GStreamer, TelepathyFarsight and all of their dependencies were found
+    if (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
+	set (FARSIGHT_COMPONENTS_FOUND 1)
+    else (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
+	set (FARSIGHT_COMPONENTS_FOUND 0)
+    endif (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
+else(WITH_Farsight)
     set (FARSIGHT_COMPONENTS_FOUND 0)
-endif (TELEPATHYFARSIGHT_FOUND AND GSTREAMER_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND DBUS_FOUND AND LIBXML2_FOUND)
+endif(WITH_Farsight)
 
 # Find telepathy-glib
-set(TELEPATHY_GLIB_MIN_VERSION 0.17.2)
-find_package(TelepathyGlib)
-macro_log_feature(TELEPATHYGLIB_FOUND "Telepathy-glib"
-                  "Glib bindings for Telepathy"
-                  "http://telepathy.freedesktop.org/" FALSE ${TELEPATHY_GLIB_MIN_VERSION}
-                  "Needed, together with Qt Glib integration, to build most of the unit tests")
-
-find_program(GLIB_GENMARSHAL glib-genmarshal)
-
-# Enable glib-based tests only if Qt has GLib support and Telepathy-glib was found
-if(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
-    set(ENABLE_TP_GLIB_TESTS 1)
-    if(GIO_FOUND AND GIOUNIX_FOUND)
-        set(ENABLE_TP_GLIB_GIO_TESTS 1)
-    else(GIO_FOUND AND GIOUNIX_FOUND)
-        set(ENABLE_TP_GLIB_GIO_TESTS 0)
-    endif(GIO_FOUND AND GIOUNIX_FOUND)
-else(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
+if(WITH_Glib)
+    # Check for Qt Glib support
+    include(CheckCXXSourceCompiles)
+    set(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES})
+    set(CMAKE_REQUIRED_DEFINITIONS "")
+    set(CMAKE_REQUIRED_FLAGS "")
+
+    CHECK_CXX_SOURCE_COMPILES("E_TP
+    #include <QtCore/QtGlobal>
+    int main()
+    {
+    #if defined(QT_NO_GLIB)
+    #error \"Qt was compiled with Glib disabled\"
+    #endif
+    return 0;
+    }"
+    QT_GLIB_SUPPORT)
+    macro_log_feature(QT_GLIB_SUPPORT "Qt Glib Support"
+		      "QtCore library using Glib's main event loop"
+		      "http://qt.nokia.com/" FALSE ""
+		      "Needed, together with Telepathy-Glib, to build most of the unit tests")
+
+    find_package(GLIB2 REQUIRED)
+    find_package(GIO)
+    find_package(GIOUnix)
+    find_package(DBus REQUIRED)
+
+    # Find telepathy-glib
+    set(TELEPATHY_GLIB_MIN_VERSION 0.17.2)
+    find_package(TelepathyGlib)
+    macro_log_feature(TELEPATHYGLIB_FOUND "Telepathy-glib"
+		      "Glib bindings for Telepathy"
+		      "http://telepathy.freedesktop.org/" FALSE ${TELEPATHY_GLIB_MIN_VERSION}
+		      "Needed, together with Qt Glib integration, to build most of the unit tests")
+
+    find_program(GLIB_GENMARSHAL glib-genmarshal)
+
+    # Enable glib-based tests only if Qt has GLib support and Telepathy-glib was found
+    if(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
+	set(ENABLE_TP_GLIB_TESTS 1)
+	if(GIO_FOUND AND GIOUNIX_FOUND)
+	    set(ENABLE_TP_GLIB_GIO_TESTS 1)
+	else(GIO_FOUND AND GIOUNIX_FOUND)
+	    set(ENABLE_TP_GLIB_GIO_TESTS 0)
+	endif(GIO_FOUND AND GIOUNIX_FOUND)
+    else(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
+	set(ENABLE_TP_GLIB_TESTS 0)
+	set(ENABLE_TP_GLIB_GIO_TESTS 0)
+    endif(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
+else(WITH_Glib)
     set(ENABLE_TP_GLIB_TESTS 0)
     set(ENABLE_TP_GLIB_GIO_TESTS 0)
-endif(QT_GLIB_SUPPORT AND TELEPATHYGLIB_FOUND AND GLIB2_FOUND AND DBUS_FOUND)
+endif(WITH_Glib)
+
 
 # Add the source subdirectories
 add_subdirectory(TelepathyQt)
 add_subdirectory(examples)
-add_subdirectory(tests)
+if(WITH_Test)
+  add_subdirectory(tests)
+endif(WITH_Test)
 add_subdirectory(tools)
 
 # Generate config.h and config-version.h