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