15
17
SET(LOCAL_CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/")
16
18
SET(CMAKE_MODULE_PATH "${LOCAL_CMAKE_MODULE_PATH}")
18
FIND_PACKAGE ( KDE4 REQUIRED )
19
FIND_PACKAGE ( Qt4 REQUIRED )
21
INCLUDE ( KDE4Defaults )
23
set(GENERIC_LIB_VERSION "1.2.3")
25
INCLUDE_DIRECTORIES ( ${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR})
20
IF(${ENABLE_VIDEO} MATCHES true)
21
MESSAGE("VIDEO enabled")
22
SET(ENABLE_VIDEO 1 CACHE BOOLEAN "Enable video")
23
add_definitions( -DENABLE_VIDEO=true )
24
ENDIF(${ENABLE_VIDEO} MATCHES true)
26
IF(${ENABLE_QT5} MATCHES true)
29
ADD_DEFINITIONS(-DQT_DISABLE_DEPRECATED_BEFORE=0)
31
FIND_PACKAGE ( Qt4 REQUIRED )
32
ENDIF(${ENABLE_QT5} MATCHES true)
34
set(GENERIC_LIB_VERSION "1.3.0")
36
include_directories(SYSTEM ${QT_INCLUDES} )
37
INCLUDE_DIRECTORIES ( ${CMAKE_CURRENT_BINARY_DIR})
39
# Build dbus interfaces
40
SET ( dbus_xml_introspecs_path ${CMAKE_CURRENT_SOURCE_DIR}/dbus/)
28
43
set( qtsflphone_LIB_SRCS
58
abstractcontactbackend.cpp
59
abstractbookmarkmodel.cpp
36
60
videocodecmodel.cpp
40
62
credentialmodel.cpp
41
63
audiocodecmodel.cpp
42
64
instantmessagingmodel.cpp
43
configurationmanager_interface_singleton.cpp
44
callmanager_interface_singleton.cpp
45
instance_interface_singleton.cpp
46
video_interface_singleton.cpp
50
# Build dbus interfaces
51
SET ( dbus_xml_introspecs_path ${CMAKE_CURRENT_SOURCE_DIR}/dbus/)
67
presencestatusmodel.cpp
68
phonedirectorymodel.cpp
69
historytimecategorymodel.cpp
70
numbercategorymodel.cpp
73
numbercompletionmodel.cpp
74
categorizedaccountmodel.cpp
75
audiosettingsmodel.cpp
77
lastusednumbermodel.cpp
80
dbus/configurationmanager.cpp
82
dbus/instancemanager.cpp
84
dbus/presencemanager.cpp
87
visitors/accountlistcolorvisitor.cpp
88
visitors/phonenumberselector.cpp
89
visitors/numbercategoryvisitor.cpp
90
visitors/pixmapmanipulationvisitor.cpp
91
visitors/presenceserializationvisitor.cpp
95
categorizedcompositenode.cpp
98
set( qtsflphone_LIB_HDRS
105
abstractcontactbackend.h
106
abstractbookmarkmodel.h
112
instantmessagingmodel.h
115
presencestatusmodel.h
117
phonedirectorymodel.h
118
historytimecategorymodel.h
119
numbercategorymodel.h
123
numbercompletionmodel.h
124
categorizedaccountmodel.h
128
lastusednumbermodel.h
131
set( qtsflphone_extra_LIB_HDRS
135
visitors/accountlistcolorvisitor.h
136
visitors/phonenumberselector.h
137
visitors/presenceserializationvisitor.h
140
# presence manager interface
141
SET ( presencemanager_xml ${dbus_xml_introspecs_path}/presencemanager-introspec.xml )
143
SET_SOURCE_FILES_PROPERTIES(
144
${presencemanager_xml}
146
CLASSNAME PresenceManagerInterface
147
INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h")
149
IF(${ENABLE_QT5} MATCHES true)
150
QT5_ADD_DBUS_INTERFACE(
152
${presencemanager_xml}
153
presencemanager_dbus_interface
156
QT4_ADD_DBUS_INTERFACE(
158
${presencemanager_xml}
159
presencemanager_dbus_interface
162
ENDIF(${ENABLE_QT5} MATCHES true)
53
164
# configuration manager interface
54
165
SET ( configurationmanager_xml ${dbus_xml_introspecs_path}/configurationmanager-introspec.xml )
57
168
${configurationmanager_xml}
59
170
CLASSNAME ConfigurationManagerInterface
60
INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h")
62
QT4_ADD_DBUS_INTERFACE(
64
${configurationmanager_xml}
65
configurationmanager_dbus_interface)
171
INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h")
173
IF(${ENABLE_QT5} MATCHES true)
174
QT5_ADD_DBUS_INTERFACE(
176
${configurationmanager_xml}
177
configurationmanager_dbus_interface
180
QT4_ADD_DBUS_INTERFACE(
182
${configurationmanager_xml}
183
configurationmanager_dbus_interface
186
ENDIF(${ENABLE_QT5} MATCHES true)
67
188
# call manager interface
68
189
SET ( callmanager_xml ${dbus_xml_introspecs_path}/callmanager-introspec.xml )
73
194
CLASSNAME CallManagerInterface
74
195
INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h")
76
QT4_ADD_DBUS_INTERFACE(
79
callmanager_dbus_interface)
197
IF(${ENABLE_QT5} MATCHES true)
198
QT5_ADD_DBUS_INTERFACE(
201
callmanager_dbus_interface
204
QT4_ADD_DBUS_INTERFACE(
207
callmanager_dbus_interface
209
ENDIF(${ENABLE_QT5} MATCHES true)
81
212
# video manager interface
82
213
SET ( video_xml ${dbus_xml_introspecs_path}/video_controls-introspec.xml )
101
242
CLASSNAME InstanceInterface
102
243
INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h")
104
QT4_ADD_DBUS_INTERFACE(
107
instance_dbus_interface)
109
kde4_add_library( qtsflphone SHARED ${qtsflphone_LIB_SRCS} )
245
IF(${ENABLE_QT5} MATCHES true)
246
QT5_ADD_DBUS_INTERFACE(
249
instance_dbus_interface
252
QT4_ADD_DBUS_INTERFACE(
255
instance_dbus_interface
257
ENDIF(${ENABLE_QT5} MATCHES true)
259
# ADD_DEFINITIONS("-w")
260
IF(${ENABLE_QT5} MATCHES true)
261
QT5_WRAP_CPP(LIB_HEADER_MOC ${qtsflphone_LIB_HDRS})
263
QT4_WRAP_CPP(LIB_HEADER_MOC ${qtsflphone_LIB_HDRS})
264
ENDIF(${ENABLE_QT5} MATCHES true)
266
add_library( qtsflphone SHARED ${qtsflphone_LIB_SRCS} ${LIB_HEADER_MOC} )
267
# REMOVE_DEFINITIONS("-w")
269
IF(${ENABLE_QT5} MATCHES true)
270
QT5_USE_MODULES(qtsflphone Core DBus)
271
ENDIF(${ENABLE_QT5} MATCHES true)
111
273
target_link_libraries( qtsflphone
118
280
set_target_properties( qtsflphone
119
PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}
122
set( qtsflphone_LIB_HDRS
136
configurationmanager_interface_singleton.h
137
callmanager_interface_singleton.h
138
instance_interface_singleton.h
139
video_interface_singleton.h
141
instantmessagingmodel.h
145
install( FILES ${qtsflphone_LIB_HDRS}
281
PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_VERSION}
284
SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include)
286
install( FILES ${qtsflphone_LIB_HDRS} ${qtsflphone_extra_LIB_HDRS}
146
287
DESTINATION ${INCLUDE_INSTALL_DIR}/qtsflphone
150
install( TARGETS qtsflphone ${INSTALL_TARGETS_DEFAULT_ARGS} )
291
#This hack force Debian based system to return a non multi-arch path
292
#this is required to prevent the .deb libqtsflphone.so from having an
293
#higher priority than the prefixed one.
294
STRING(REPLACE "${CMAKE_LIBRARY_ARCHITECTURE}" "" SANE_LIBRARY_PATH "${CMAKE_INSTALL_FULL_LIBDIR}" )
296
install( TARGETS qtsflphone
297
ARCHIVE DESTINATION ${SANE_LIBRARY_PATH}
298
LIBRARY DESTINATION ${SANE_LIBRARY_PATH}
299
DESTINATION ${SANE_LIBRARY_PATH}