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