Better time formatting by using an explicit format
[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_PHONON)
150     set(SOURCES ${SOURCES} phononnotificationbackend.cpp)
151     set(MOC_HDRS ${MOC_HDRS} phononnotificationbackend.h)
152     set(FORMS ${FORMS} phononnotificationconfigwidget.ui)
153     include_directories(${PHONON_INCLUDES})
154   endif(HAVE_PHONON)
155 endif(HAVE_KDE)
156
157 if(HAVE_DBUS)
158   set(SOURCES ${SOURCES} statusnotifieritem.cpp statusnotifieritemdbus.cpp)
159   set(MOC_HDRS ${MOC_HDRS} statusnotifieritem.h statusnotifieritemdbus.h)
160   set(FORMS ${FORMS})
161   if(WITH_QT5)
162     qt5_add_dbus_interface(DBUS ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
163     qt5_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
164     qt5_add_dbus_adaptor(DBUS ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus)
165   else(WITH_QT5)
166     qt4_add_dbus_interface(DBUS ../../interfaces/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher)
167     qt4_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml notificationsclient)
168     qt4_add_dbus_adaptor(DBUS ../../interfaces/org.kde.StatusNotifierItem.xml statusnotifieritemdbus.h StatusNotifierItemDBus)
169   endif(WITH_QT5)
170 endif(HAVE_DBUS)
171
172 if(HAVE_SSL)
173   set(SOURCES ${SOURCES} sslinfodlg.cpp)
174   set(MOC_HDRS ${MOC_HDRS} sslinfodlg.h)
175   set(FORMS ${FORMS} sslinfodlg.ui)
176 endif(HAVE_SSL)
177
178 if(INDICATEQT_FOUND)
179   set(SOURCES ${SOURCES} indicatornotificationbackend.cpp)
180   set(MOC_HDRS ${MOC_HDRS} indicatornotificationbackend.h)
181   set(FORMS ${FORMS} indicatornotificationconfigwidget.ui)
182   include_directories(${INDICATEQT_INCLUDE_DIRS})
183 endif(INDICATEQT_FOUND)
184
185 foreach(FORM ${FORMS})
186   set(FORMPATH ${FORMPATH} ui/${FORM})
187 endforeach(FORM ${FORMS})
188
189 # handle settingspages
190 include(settingspages/settingspages.inc)
191 foreach(SP ${SETTINGSPAGES})
192   set(SPSRC ${SPSRC} settingspages/${SP}settingspage.cpp)
193   set(SPHDR ${SPHDR} settingspages/${SP}settingspage.h)
194   set(SPFRM ${SPFRM} settingspages/${SP}settingspage.ui)
195 endforeach(SP ${SETTINGSPAGES})
196 foreach(SRC ${SP_SOURCES})
197   set(SPSRC ${SPSRC} settingspages/${SRC})
198 endforeach(SRC ${SP_SOURCES})
199 foreach(HDR ${SP_HEADERS})
200   set(SPHDR ${SPHDR} settingspages/${HDR})
201 endforeach(HDR ${SP_HEADERS})
202 foreach(FRM ${SP_FORMS})
203   set(SPFRM ${SPFRM} settingspages/${FRM})
204 endforeach(FRM ${SP_FORMS})
205
206 include_directories(${CMAKE_SOURCE_DIR}/src/common
207                     ${CMAKE_SOURCE_DIR}/src/client
208                     ${CMAKE_SOURCE_DIR}/src/qtui
209                     ${CMAKE_SOURCE_DIR}/src/qtui/settingspages
210                     ${CMAKE_SOURCE_DIR}/src/uisupport
211                     ${CMAKE_CURRENT_BINARY_DIR}
212                     ${QUASSEL_QT_INCLUDES})
213
214 if(WITH_QT5)
215   qt5_wrap_ui(UI ${FORMPATH} ${SPFRM})
216 else(WITH_QT5)
217   qt4_wrap_cpp(MOC ${MOC_HDRS} ${SPHDR})
218   qt4_wrap_ui(UI ${FORMPATH} ${SPFRM})
219 endif(WITH_QT5)
220
221 add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${MOC} ${DBUS} ${UI} ${HEADERS})
222 add_dependencies(mod_qtui mod_common mod_client mod_uisupport)
223 set_target_properties(mod_qtui PROPERTIES COMPILE_FLAGS "${QUASSEL_QT_COMPILEFLAGS}")