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