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