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