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