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