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