a4bda52355cc11b49b0e925a52438d34ab6d5b91
[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     coreconnectionstatuswidget.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     coreconnectionstatuswidget.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     coreconfigwizardintropage.ui
117     coreconfigwizardadminuserpage.ui
118     coreconfigwizardstorageselectionpage.ui
119     coreconfigwizardsyncpage.ui
120     coreinfodlg.ui
121     debugbufferviewoverlay.ui
122     debugconsole.ui
123     debuglogwidget.ui
124     inputwidget.ui
125     msgprocessorstatuswidget.ui
126     nicklistwidget.ui
127     settingsdlg.ui
128     settingspagedlg.ui
129     simplenetworkeditor.ui
130     topicwidget.ui)
131
132 if(HAVE_KDE)
133   set(SOURCES ${SOURCES} knotificationbackend.cpp)
134   set(MOC_HDRS ${MOC_HDRS} knotificationbackend.h)
135 else(HAVE_KDE)
136   if(HAVE_DBUS)
137     set(SOURCES ${SOURCES} desktopnotificationbackend.cpp)
138     set(MOC_HDRS ${MOC_HDRS} desktopnotificationbackend.h)
139     set(FORMS ${FORMS} desktopnotificationconfigwidget.ui)
140     qt4_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml desktopnotificationinterface)
141   endif(HAVE_DBUS)
142
143   if(HAVE_PHONON)
144     set(SOURCES ${SOURCES} phononnotificationbackend.cpp)
145     set(MOC_HDRS ${MOC_HDRS} phononnotificationbackend.h)
146     set(FORMS ${FORMS} phononnotificationconfigwidget.ui)
147     include_directories(${PHONON_INCLUDES})
148   endif(HAVE_PHONON)
149 endif(HAVE_KDE)
150
151 if(INDICATEQT_FOUND)
152   set(SOURCES ${SOURCES} indicatornotificationbackend.cpp)
153   set(MOC_HDRS ${MOC_HDRS} indicatornotificationbackend.h)
154   set(FORMS ${FORMS} indicatornotificationconfigwidget.ui)
155 endif(INDICATEQT_FOUND)
156
157 foreach(FORM ${FORMS})
158   set(FORMPATH ${FORMPATH} ui/${FORM})
159 endforeach(FORM ${FORMS})
160
161 # handle settingspages
162 include(settingspages/settingspages.inc)
163 foreach(SP ${SETTINGSPAGES})
164   set(SPSRC ${SPSRC} settingspages/${SP}settingspage.cpp)
165   set(SPHDR ${SPHDR} settingspages/${SP}settingspage.h)
166   set(SPFRM ${SPFRM} settingspages/${SP}settingspage.ui)
167 endforeach(SP ${SETTINGSPAGES})
168 foreach(SRC ${SP_SOURCES})
169   set(SPSRC ${SPSRC} settingspages/${SRC})
170 endforeach(SRC ${SP_SOURCES})
171 foreach(HDR ${SP_HEADERS})
172   set(SPHDR ${SPHDR} settingspages/${HDR})
173 endforeach(HDR ${SP_HEADERS})
174 foreach(FRM ${SP_FORMS})
175   set(SPFRM ${SPFRM} settingspages/${FRM})
176 endforeach(FRM ${SP_FORMS})
177
178 qt4_wrap_cpp(MOC ${MOC_HDRS} ${SPHDR})
179 qt4_wrap_ui(UI ${FORMPATH} ${SPFRM})
180
181 include_directories(${CMAKE_SOURCE_DIR}/src/common
182                     ${CMAKE_SOURCE_DIR}/src/client
183                     ${CMAKE_SOURCE_DIR}/src/qtui
184                     ${CMAKE_SOURCE_DIR}/src/qtui/settingspages
185                     ${CMAKE_SOURCE_DIR}/src/uisupport
186                     ${CMAKE_CURRENT_BINARY_DIR})
187
188 add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${MOC} ${DBUS} ${UI} ${HEADERS})
189 add_dependencies(mod_qtui mod_common mod_client mod_uisupport)