Move dbus interface definition to interfaces/ and generate dbus files automagically
[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     coreconfigwizard.cpp
13     coreconnectdlg.cpp
14     coreinfodlg.cpp
15     debugconsole.cpp
16     inputwidget.cpp
17     jumpkeyhandler.cpp
18     mainwin.cpp
19     nicklistwidget.cpp
20     qtui.cpp
21     qtuisettings.cpp
22     qtuistyle.cpp
23     settingsdlg.cpp
24     settingspagedlg.cpp
25     titlesetter.cpp
26     topiclabel.cpp
27     topicwidget.cpp
28     verticaldock.cpp)
29
30 set(MOC_HDRS
31     aboutdlg.h
32     bufferwidget.h
33     channellistdlg.h
34     coreconfigwizard.h
35     coreconnectdlg.h
36     coreinfodlg.h
37     debugconsole.h
38     inputwidget.h
39     jumpkeyhandler.h
40     mainwin.h
41     nicklistwidget.h
42     qtui.h
43     settingsdlg.h
44     settingspagedlg.h
45     titlesetter.h
46     topiclabel.h
47     topicwidget.h
48     verticaldock.h)
49
50 set(HEADERS
51     qtuisettings.h
52     qtuistyle.h)
53
54 if(SPUTDEV)
55   set(SOURCES ${SOURCES} chatitem.cpp chatline.cpp chatlinemodelitem.cpp
56                          chatlinemodel.cpp chatscene.cpp chatview.cpp)
57   set(MOC_HDRS ${MOC_HDRS} chatlinemodel.h chatscene.h chatview.h)
58   set(HEADERS ${HEADERS} chatitem.h chatline.h chatlinemodelitem.h)
59 else(SPUTDEV)
60   set(SOURCES ${SOURCES} chatline-old.cpp chatwidget.cpp)
61   set(MOC_HDRS ${MOC_HDRS} chatline-old.h chatwidget.h)
62 endif(SPUTDEV)
63
64 set(FORMS
65     aboutdlg.ui
66     bufferviewwidget.ui
67     bufferwidget.ui
68     channellistdlg.ui
69     coreaccounteditdlg.ui
70     coreconfigwizardintropage.ui
71     coreconfigwizardadminuserpage.ui
72     coreconfigwizardstorageselectionpage.ui
73     coreconfigwizardsyncpage.ui
74     coreconnectdlg.ui
75     coreinfodlg.ui
76     debugconsole.ui
77     inputwidget.ui
78     mainwin.ui
79     nicklistwidget.ui
80     settingsdlg.ui
81     settingspagedlg.ui
82     topicwidget.ui)
83
84 foreach(FORM ${FORMS})
85   set(FORMPATH ${FORMPATH} ui/${FORM})
86 endforeach(FORM ${FORMS})
87
88 # handle settingspages
89 include(settingspages/settingspages.inc)
90 foreach(SP ${SETTINGSPAGES})
91   set(SPSRC ${SPSRC} settingspages/${SP}settingspage.cpp)
92   set(SPHDR ${SPHDR} settingspages/${SP}settingspage.h)
93   set(SPFRM ${SPFRM} settingspages/${SP}settingspage.ui)
94 endforeach(SP ${SETTINGSPAGES})
95 foreach(SRC ${SP_SOURCES})
96   set(SPSRC ${SPSRC} settingspages/${SRC})
97 endforeach(SRC ${SP_SOURCES})
98 foreach(HDR ${SP_HEADERS})
99   set(SPHDR ${SPHDR} settingspages/${HDR})
100 endforeach(HDR ${SP_HEADERS})
101 foreach(FRM ${SP_FORMS})
102   set(SPFRM ${SPFRM} settingspages/${FRM})
103 endforeach(FRM ${SP_FORMS})
104
105
106 qt4_wrap_cpp(MOC ${MOC_HDRS} ${SPHDR})
107 qt4_wrap_ui(UI ${FORMPATH} ${SPFRM})
108 qt4_add_dbus_interface(DBUS ../../interfaces/org.freedesktop.Notifications.xml desktopnotifications)
109
110 include_directories(${CMAKE_SOURCE_DIR}/src/common
111                     ${CMAKE_SOURCE_DIR}/src/client
112                     ${CMAKE_SOURCE_DIR}/src/qtui
113                     ${CMAKE_SOURCE_DIR}/src/uisupport
114                     ${CMAKE_CURRENT_BINARY_DIR})
115
116 add_library(mod_qtui STATIC ${SOURCES} ${SPSRC} ${MOC} ${DBUS} ${UI} ${HEADERS})
117 add_dependencies(mod_qtui mod_common mod_client mod_uisupport)