Add support for dbusmenu
[quassel.git] / src / qtui / CMakeLists.txt
1 # Builds the qtui module
2
3 set(QT_DONT_USE_QTGUI 0)
4 set(QT_USE_QTNETWORK 1)
5 if(HAVE_DBUS)
6   set(QT_USE_QTDBUS 1)
7 endif(HAVE_DBUS)
8 if(HAVE_WEBKIT)
9   set(QT_USE_QTWEBKIT 1)
10   set(QT_USE_XMLPATTERNS 1)
11 endif(HAVE_WEBKIT)
12 include(${QT_USE_FILE})
13
14 set(SOURCES
15     aboutdlg.cpp
16     awaylogfilter.cpp
17     awaylogview.cpp
18     bufferwidget.cpp
19     channellistdlg.cpp
20     chatitem.cpp
21     chatline.cpp
22     chatlinemodel.cpp
23     chatlinemodelitem.cpp
24     chatmonitorfilter.cpp
25     chatmonitorview.cpp
26     chatscene.cpp
27     chatview.cpp
28     chatviewsearchbar.cpp
29     chatviewsearchcontroller.cpp
30     chatviewsettings.cpp
31     columnhandleitem.cpp
32     coreconfigwizard.cpp
33     coreconnectdlg.cpp
34     coreconnectionstatuswidget.cpp
35     coreinfodlg.cpp
36     debugbufferviewoverlay.cpp
37     debugconsole.cpp
38     debuglogwidget.cpp
39     debugmessagemodelfilter.cpp
40     inputwidget.cpp
41     ircconnectionwizard.cpp
42     legacysystemtray.cpp
43     mainpage.cpp
44     mainwin.cpp
45     markerlineitem.cpp
46     msgprocessorstatuswidget.cpp
47     nicklistwidget.cpp
48     qtui.cpp
49     qtuiapplication.cpp
50     qtuimessageprocessor.cpp
51     qtuisettings.cpp
52     qtuistyle.cpp
53     settingsdlg.cpp
54     settingspagedlg.cpp
55     simplenetworkeditor.cpp
56     systemtray.cpp
57     systraynotificationbackend.cpp
58     taskbarnotificationbackend.cpp
59     titlesetter.cpp
60     topicwidget.cpp
61     verticaldock.cpp
62     webpreviewitem.cpp)
63
64 set(MOC_HDRS
65     aboutdlg.h
66     awaylogfilter.h
67     awaylogview.h
68     bufferwidget.h
69     channellistdlg.h
70     chatitem.h
71     chatlinemodel.h
72     chatmonitorfilter.h
73     chatmonitorview.h
74     chatscene.h
75     chatview.h
76     chatviewsearchbar.h
77     chatviewsearchcontroller.h
78     columnhandleitem.h
79     coreconfigwizard.h
80     coreconnectdlg.h
81     coreconnectionstatuswidget.h
82     coreinfodlg.h
83     debugbufferviewoverlay.h
84     debugconsole.h
85     debuglogwidget.h
86     debugmessagemodelfilter.h
87     inputwidget.h
88     ircconnectionwizard.h
89     legacysystemtray.h
90     mainpage.h
91     mainwin.h
92     markerlineitem.h
93     msgprocessorstatuswidget.h
94     nicklistwidget.h
95     qtui.h
96     qtuiapplication.h
97     qtuimessageprocessor.h
98     qtuistyle.h
99     settingsdlg.h
100     settingspagedlg.h
101     simplenetworkeditor.h
102     systemtray.h
103     systraynotificationbackend.h
104     taskbarnotificationbackend.h
105     titlesetter.h
106     topicwidget.h
107     verticaldock.h)
108
109 set(HEADERS
110     chatline.h
111     chatlinemodelitem.h
112     chatviewsettings.h
113     qtuisettings.h
114     webpreviewitem.h)
115
116 set(FORMS
117     aboutdlg.ui
118     bufferviewwidget.ui
119     bufferwidget.ui
120     channellistdlg.ui
121     chatviewsearchbar.ui
122     coreconfigwizardintropage.ui
123     coreconfigwizardadminuserpage.ui
124     coreconfigwizardstorageselectionpage.ui
125     coreconfigwizardsyncpage.ui
126     coreconnectauthdlg.ui
127     coreconnectionstatuswidget.ui
128     coreinfodlg.ui
129     debugbufferviewoverlay.ui
130     debugconsole.ui
131     debuglogwidget.ui
132     inputwidget.ui
133     msgprocessorstatuswidget.ui
134     nicklistwidget.ui
135     settingsdlg.ui
136     settingspagedlg.ui
137     simplenetworkeditor.ui
138     topicwidget.ui)
139
140 if(HAVE_KDE)
141   set(SOURCES ${SOURCES} knotificationbackend.cpp)
142   set(MOC_HDRS ${MOC_HDRS} knotificationbackend.h)
143 else(HAVE_KDE)
144   if(HAVE_PHONON)
145     set(SOURCES ${SOURCES} phononnotificationbackend.cpp)
146     set(MOC_HDRS ${MOC_HDRS} phononnotificationbackend.h)
147     set(FORMS ${FORMS} phononnotificationconfigwidget.ui)
148     include_directories(${PHONON_INCLUDES})
149   endif(HAVE_PHONON)
150 endif(HAVE_KDE)
151
152 if(HAVE_DBUS)
153   set(SOURCES ${SOURCES} statusnotifieritem.cpp statusnotifieritemdbus.cpp)
154   set(MOC_HDRS ${MOC_HDRS} statusnotifieritem.h statusnotifieritemdbus.h)
155   set(FORMS ${FORMS})
156   qt4_add_dbus_interface(DBUS ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
157   qt4_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
158   qt4_add_dbus_adaptor(DBUS ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus)  
159 endif(HAVE_DBUS)
160
161 if(HAVE_SSL)
162   set(SOURCES ${SOURCES} sslinfodlg.cpp)
163   set(MOC_HDRS ${MOC_HDRS} sslinfodlg.h)
164   set(FORMS ${FORMS} sslinfodlg.ui)
165 endif(HAVE_SSL)
166
167 if(INDICATEQT_FOUND)
168   set(SOURCES ${SOURCES} indicatornotificationbackend.cpp)
169   set(MOC_HDRS ${MOC_HDRS} indicatornotificationbackend.h)
170   set(FORMS ${FORMS} indicatornotificationconfigwidget.ui)
171   include_directories(${INDICATEQT_INCLUDE_DIRS})
172 endif(INDICATEQT_FOUND)
173
174 foreach(FORM ${FORMS})
175   set(FORMPATH ${FORMPATH} ui/${FORM})
176 endforeach(FORM ${FORMS})
177
178 # handle settingspages
179 include(settingspages/settingspages.inc)
180 foreach(SP ${SETTINGSPAGES})
181   set(SPSRC ${SPSRC} settingspages/${SP}settingspage.cpp)
182   set(SPHDR ${SPHDR} settingspages/${SP}settingspage.h)
183   set(SPFRM ${SPFRM} settingspages/${SP}settingspage.ui)
184 endforeach(SP ${SETTINGSPAGES})
185 foreach(SRC ${SP_SOURCES})
186   set(SPSRC ${SPSRC} settingspages/${SRC})
187 endforeach(SRC ${SP_SOURCES})
188 foreach(HDR ${SP_HEADERS})
189   set(SPHDR ${SPHDR} settingspages/${HDR})
190 endforeach(HDR ${SP_HEADERS})
191 foreach(FRM ${SP_FORMS})
192   set(SPFRM ${SPFRM} settingspages/${FRM})
193 endforeach(FRM ${SP_FORMS})
194
195 qt4_wrap_cpp(MOC ${MOC_HDRS} ${SPHDR})
196 qt4_wrap_ui(UI ${FORMPATH} ${SPFRM})
197
198 include_directories(${CMAKE_SOURCE_DIR}/src/common
199                     ${CMAKE_SOURCE_DIR}/src/client
200                     ${CMAKE_SOURCE_DIR}/src/qtui
201                     ${CMAKE_SOURCE_DIR}/src/qtui/settingspages
202                     ${CMAKE_SOURCE_DIR}/src/uisupport
203                     ${CMAKE_CURRENT_BINARY_DIR})
204
205 add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${MOC} ${DBUS} ${UI} ${HEADERS})
206 add_dependencies(mod_qtui mod_common mod_client mod_uisupport)