diff --git a/CMakeLists.txt b/CMakeLists.txt
index 459c73ec7d7a9d813ebad0f26f68e7a946d28380..92ff84f7e6d1e418531b5ee0b4e5639e5773d707 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,14 +22,35 @@ SET(CMAKE_AUTOMOC TRUE)
 SET(LOCAL_CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/")
 SET(CMAKE_MODULE_PATH "${LOCAL_CMAKE_MODULE_PATH}")
 
-IF(NOT ${ENABLE_VIDEO} MATCHES false)
+set(QT5_PATH ~/Qt/5.3/clang_64/ CACHE PATH "Path to Qt5")
+set(QT5_MODULE_PATH ${QT5_PATH}/lib/cmake)
+
+# OS X
+IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+    add_definitions( -DENABLE_LIBWRAP=true ) # Use native calls (no dbus)
+    SET(ENABLE_QT5 true) # Use Qt5
+    SET(ENABLE_LIBWRAP true)
+    MESSAGE("Compiling for OS X: LibWrap enabled, Qt5 enabled.")
+
+    INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/qtwrapper/)
+
+    SET(CMAKE_MACOSX_RPATH ON)
+    SET(CMAKE_SKIP_BUILD_RPATH FALSE)
+    SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+    SET(CMAKE_INSTALL_RPATH "${CMAKE_CURRENT_SOURCE_DIR}")
+    SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+
+ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+
+
+IF(${ENABLE_VIDEO} MATCHES true)
    MESSAGE("VIDEO enabled")
    SET(ENABLE_VIDEO 1 CACHE BOOLEAN "Enable video")
-   ADD_DEFINITIONS( -DENABLE_VIDEO=true )
-ENDIF(NOT ${ENABLE_VIDEO} MATCHES false)
+   add_definitions( -DENABLE_VIDEO=true )
+ENDIF(${ENABLE_VIDEO} MATCHES true)
 
 IF(${ENABLE_QT5} MATCHES true)
-   FIND_PACKAGE(Qt5Core)
+   FIND_PACKAGE(Qt5Core REQUIRED)
    FIND_PACKAGE(Qt5DBus)
    ADD_DEFINITIONS(-DQT_DISABLE_DEPRECATED_BEFORE=0)
 ELSE()
@@ -209,134 +230,160 @@ SET(libringclient_visitors_LIB_HDRS
 
 SET( libringclient_extra_LIB_HDRS
   src/typedefs.h
+  sflphone_const.h
 )
 
-# presence manager interface
-SET ( presencemanager_xml  ${dbus_xml_introspecs_path}/presencemanager-introspec.xml )
-
-SET( dbus_metatype_path "${CMAKE_CURRENT_SOURCE_DIR}/src/dbus/metatypes.h")
-
-SET_SOURCE_FILES_PROPERTIES(
-   ${presencemanager_xml}
-   PROPERTIES
-   CLASSNAME PresenceManagerInterface
-   INCLUDE ${dbus_metatype_path})
-
-IF(${ENABLE_QT5} MATCHES true)
-   QT5_ADD_DBUS_INTERFACE(
-      libringclient_LIB_SRCS
-      ${presencemanager_xml}
-      presencemanager_dbus_interface
-   )
-ELSE()
-   QT4_ADD_DBUS_INTERFACE(
-      libringclient_LIB_SRCS
-      ${presencemanager_xml}
-      presencemanager_dbus_interface
-   )
-
-ENDIF(${ENABLE_QT5} MATCHES true)
-
-# configuration manager interface
-SET ( configurationmanager_xml  ${dbus_xml_introspecs_path}/configurationmanager-introspec.xml )
-
-SET_SOURCE_FILES_PROPERTIES(
-   ${configurationmanager_xml}
-   PROPERTIES
-   CLASSNAME ConfigurationManagerInterface
-   INCLUDE ${dbus_metatype_path})
-
-IF(${ENABLE_QT5} MATCHES true)
-   QT5_ADD_DBUS_INTERFACE(
-      libringclient_LIB_SRCS
-      ${configurationmanager_xml}
-      configurationmanager_dbus_interface
-   )
-ELSE()
-   QT4_ADD_DBUS_INTERFACE(
-      libringclient_LIB_SRCS
-      ${configurationmanager_xml}
-      configurationmanager_dbus_interface
-   )
-
-ENDIF(${ENABLE_QT5} MATCHES true)
-
-# call manager interface
-SET ( callmanager_xml  ${dbus_xml_introspecs_path}/callmanager-introspec.xml )
-
-SET_SOURCE_FILES_PROPERTIES(
-   ${callmanager_xml}
-   PROPERTIES
-   CLASSNAME CallManagerInterface
-   INCLUDE ${dbus_metatype_path})
-
-IF(${ENABLE_QT5} MATCHES true)
-   QT5_ADD_DBUS_INTERFACE(
-      libringclient_LIB_SRCS
-      ${callmanager_xml}
-      callmanager_dbus_interface
-   )
-ELSE()
-   QT4_ADD_DBUS_INTERFACE(
-      libringclient_LIB_SRCS
-      ${callmanager_xml}
-      callmanager_dbus_interface
-   )
-ENDIF(${ENABLE_QT5} MATCHES true)
-
-
-# video manager interface
-SET ( video_xml  ${dbus_xml_introspecs_path}/videomanager-introspec.xml )
-
-SET_SOURCE_FILES_PROPERTIES(
-   ${video_xml}
-   PROPERTIES
-   CLASSNAME VideoManagerInterface
-   INCLUDE ${dbus_metatype_path})
-
-IF(${ENABLE_QT5} MATCHES true)
-   QT5_ADD_DBUS_INTERFACE(
-      libringclient_LIB_SRCS
-      ${video_xml}
-      video_dbus_interface
-   )
-ELSE()
-   QT4_ADD_DBUS_INTERFACE(
-      libringclient_LIB_SRCS
-      ${video_xml}
-      video_dbus_interface
-   )
-ENDIF(${ENABLE_QT5} MATCHES true)
-
-
-# instance interface
-SET ( instance_xml  ${dbus_xml_introspecs_path}/instance-introspec.xml )
-
-SET_SOURCE_FILES_PROPERTIES(
-   ${instance_xml}
-   PROPERTIES
-   CLASSNAME InstanceInterface
-   INCLUDE ${dbus_metatype_path})
-
-IF(${ENABLE_QT5} MATCHES true)
-   QT5_ADD_DBUS_INTERFACE(
-      libringclient_LIB_SRCS
-      ${instance_xml}
-      instance_dbus_interface
-   )
-ELSE()
-   QT4_ADD_DBUS_INTERFACE(
-      libringclient_LIB_SRCS
-      ${instance_xml}
-      instance_dbus_interface
-   )
-ENDIF(${ENABLE_QT5} MATCHES true)
+# Include the headers for linking directly with libDring (used on platforms
+# that don't have/use dbus.
+IF(${ENABLE_LIBWRAP} MATCHES true)
+    SET_SOURCE_FILES_PROPERTIES(
+        qtwrapper/presencemanager_wrap.h
+        PROPERTIES
+        CLASSNAME PresenceManagerInterface
+        INCLUDE "qtwrapper/metatypes.h")
+
+    SET_SOURCE_FILES_PROPERTIES(
+        qtwrapper/configurationmanager_wrap.h
+        PROPERTIES
+        CLASSNAME PresenceManagerInterface
+        INCLUDE "qtwrapper/metatypes.h")
+ELSE() # Use dbus to communicate with libDring
+
+  # presence manager interface
+  SET ( presencemanager_xml  ${dbus_xml_introspecs_path}/presencemanager-introspec.xml )
+
+  SET( dbus_metatype_path "${CMAKE_CURRENT_SOURCE_DIR}/src/dbus/metatypes.h")
+
+  SET_SOURCE_FILES_PROPERTIES(
+     ${presencemanager_xml}
+     PROPERTIES
+     CLASSNAME PresenceManagerInterface
+     INCLUDE ${dbus_metatype_path})
+
+  IF(${ENABLE_QT5} MATCHES true)
+     QT5_ADD_DBUS_INTERFACE(
+        libringclient_LIB_SRCS
+        ${presencemanager_xml}
+        presencemanager_dbus_interface
+     )
+  ELSE()
+     QT4_ADD_DBUS_INTERFACE(
+        libringclient_LIB_SRCS
+        ${presencemanager_xml}
+        presencemanager_dbus_interface
+     )
+
+  ENDIF(${ENABLE_QT5} MATCHES true)
+
+  # configuration manager interface
+  SET ( configurationmanager_xml  ${dbus_xml_introspecs_path}/configurationmanager-introspec.xml )
+
+  SET_SOURCE_FILES_PROPERTIES(
+     ${configurationmanager_xml}
+     PROPERTIES
+     CLASSNAME ConfigurationManagerInterface
+     INCLUDE ${dbus_metatype_path})
+
+  IF(${ENABLE_QT5} MATCHES true)
+     QT5_ADD_DBUS_INTERFACE(
+        libringclient_LIB_SRCS
+        ${configurationmanager_xml}
+        configurationmanager_dbus_interface
+     )
+  ELSE()
+     QT4_ADD_DBUS_INTERFACE(
+        libringclient_LIB_SRCS
+        ${configurationmanager_xml}
+        configurationmanager_dbus_interface
+     )
+
+  ENDIF(${ENABLE_QT5} MATCHES true)
+
+  # call manager interface
+  SET ( callmanager_xml  ${dbus_xml_introspecs_path}/callmanager-introspec.xml )
+
+  SET_SOURCE_FILES_PROPERTIES(
+     ${callmanager_xml}
+     PROPERTIES
+     CLASSNAME CallManagerInterface
+     INCLUDE ${dbus_metatype_path})
+
+  IF(${ENABLE_QT5} MATCHES true)
+     QT5_ADD_DBUS_INTERFACE(
+        libringclient_LIB_SRCS
+        ${callmanager_xml}
+        callmanager_dbus_interface
+     )
+  ELSE()
+     QT4_ADD_DBUS_INTERFACE(
+        libringclient_LIB_SRCS
+        ${callmanager_xml}
+        callmanager_dbus_interface
+     )
+  ENDIF(${ENABLE_QT5} MATCHES true)
+
+
+  # video manager interface
+  SET ( video_xml  ${dbus_xml_introspecs_path}/videomanager-introspec.xml )
+
+  SET_SOURCE_FILES_PROPERTIES(
+     ${video_xml}
+     PROPERTIES
+     CLASSNAME VideoManagerInterface
+     INCLUDE ${dbus_metatype_path})
+
+  IF(${ENABLE_QT5} MATCHES true)
+     QT5_ADD_DBUS_INTERFACE(
+        libringclient_LIB_SRCS
+        ${video_xml}
+        video_dbus_interface
+     )
+  ELSE()
+     QT4_ADD_DBUS_INTERFACE(
+        libringclient_LIB_SRCS
+        ${video_xml}
+        video_dbus_interface
+     )
+  ENDIF(${ENABLE_QT5} MATCHES true)
+
+
+  # instance interface
+  SET ( instance_xml  ${dbus_xml_introspecs_path}/instance-introspec.xml )
+
+  SET_SOURCE_FILES_PROPERTIES(
+     ${instance_xml}
+     PROPERTIES
+     CLASSNAME InstanceInterface
+     INCLUDE ${dbus_metatype_path})
+
+  IF(${ENABLE_QT5} MATCHES true)
+     QT5_ADD_DBUS_INTERFACE(
+        libringclient_LIB_SRCS
+        ${instance_xml}
+        instance_dbus_interface
+     )
+  ELSE()
+     QT4_ADD_DBUS_INTERFACE(
+        libringclient_LIB_SRCS
+        ${instance_xml}
+        instance_dbus_interface
+     )
+  ENDIF(${ENABLE_QT5} MATCHES true)
+
+ENDIF(${ENABLE_LIBWRAP} MATCHES true)
 
 # Manually wrap private files
 SET(libringclient_PRIVATE_HDRS
    src/private/call_p.h
    src/private/phonedirectorymodel_p.h
    src/private/instantmessagingmodel_p.h
+
+   #OS X
+   qtwrapper/callmanager_wrap.h
+   qtwrapper/configurationmanager_wrap.h
+   qtwrapper/instancemanager_wrap.h
+   qtwrapper/presencemanager_wrap.h
+   qtwrapper/videomanager_wrap.h
 )
 
 IF(${ENABLE_QT5} MATCHES true)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
deleted file mode 100644
index d950072ef2086d8a2210f8c355a20465ed080958..0000000000000000000000000000000000000000
--- a/src/CMakeLists.txt
+++ /dev/null
@@ -1,426 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
-
-if(POLICY CMP0022)
-   cmake_policy(SET CMP0022 NEW)
-endif(POLICY CMP0022)
-
-INCLUDE(GNUInstallDirs)
-
-ADD_DEFINITIONS("-std=c++0x")
-# ADD_DEFINITIONS("-std=c++0x")
-
-ADD_DEFINITIONS(
-	${QT_DEFINITIONS}
-	-fexceptions
-)
-
-PROJECT(qtsflphone)
-
-SET(CMAKE_AUTOMOC TRUE)
-
-#target_link_libraries(qtsflphone ${QT_QTCORE_LIBRARY} ${KDE4_KDEUI_LIBS})
-
-SET(LOCAL_CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/")
-SET(CMAKE_MODULE_PATH "${LOCAL_CMAKE_MODULE_PATH}")
-set( CMAKE_INCLUDE_CURRENT_DIR ON )
-
-set(QT5_PATH ~/Qt/5.3/clang_64/ CACHE PATH "Path to Qt5")
-set(QT5_MODULE_PATH ${QT5_PATH}/lib/cmake)
-
-# OS X
-IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-    add_definitions( -DENABLE_LIBWRAP=true ) # Use native calls (no dbus)
-    SET(ENABLE_QT5 true) # Use Qt5
-    SET(ENABLE_LIBWRAP true)
-    MESSAGE("Compiling for OS X: LibWrap enabled, Qt5 enabled.")
-
-    INCLUDE_DIRECTORIES ( ${CMAKE_SOURCE_DIR}/qtwrapper/)
-
-    SET(CMAKE_MACOSX_RPATH ON)
-    SET(CMAKE_SKIP_BUILD_RPATH FALSE)
-    SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
-    SET(CMAKE_INSTALL_RPATH "${CMAKE_CURRENT_SOURCE_DIR}")
-    SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-
-ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-
-
-IF(${ENABLE_VIDEO} MATCHES true)
-   MESSAGE("VIDEO enabled")
-   SET(ENABLE_VIDEO 1 CACHE BOOLEAN "Enable video")
-   add_definitions( -DENABLE_VIDEO=true )
-ENDIF(${ENABLE_VIDEO} MATCHES true)
-
-IF(${ENABLE_QT5} MATCHES true)
-   FIND_PACKAGE(Qt5Core REQUIRED)
-   FIND_PACKAGE(Qt5DBus REQUIRED)
-   ADD_DEFINITIONS(-DQT_DISABLE_DEPRECATED_BEFORE=0)
-ELSE()
-   FIND_PACKAGE ( Qt4  REQUIRED )
-ENDIF(${ENABLE_QT5} MATCHES true)
-
-set(GENERIC_LIB_VERSION "1.4.1")
-
-include_directories(SYSTEM ${QT_INCLUDES} )
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-INCLUDE_DIRECTORIES ( ${CMAKE_CURRENT_BINARY_DIR})
-
-# Build dbus interfaces
-SET ( dbus_xml_introspecs_path ${CMAKE_CURRENT_SOURCE_DIR}/dbus/)
-
-#File to compile
-set( qtsflphone_LIB_SRCS
-  #Data objects
-  call.cpp
-  uri.cpp
-  account.cpp
-  contact.cpp
-  phonenumber.cpp
-  numbercategory.cpp
-  abstractitembackendmodelextension.cpp
-  video/device.cpp
-  video/renderer.cpp
-  video/codec.cpp
-
-  #Models
-  accountmodel.cpp
-  callmodel.cpp
-  historymodel.cpp
-  abstractbookmarkmodel.cpp
-  credentialmodel.cpp
-  instantmessagingmodel.cpp
-  imconversationmanager.cpp
-  contactproxymodel.cpp
-  useractionmodel.cpp
-  presencestatusmodel.cpp
-  phonedirectorymodel.cpp
-  historytimecategorymodel.cpp
-  numbercategorymodel.cpp
-  keyexchangemodel.cpp
-  tlsmethodmodel.cpp
-  numbercompletionmodel.cpp
-  categorizedaccountmodel.cpp
-  ringtonemodel.cpp
-  lastusednumbermodel.cpp
-  securityvalidationmodel.cpp
-  certificate.cpp
-  contactmodel.cpp
-  itembackendmodel.cpp
-  video/devicemodel.cpp
-  video/sourcesmodel.cpp
-  video/codecmodel2.cpp
-  video/channel.cpp
-  video/resolution.cpp
-  video/rate.cpp
-  video/manager.cpp
-  audio/alsapluginmodel.cpp
-  audio/codecmodel.cpp
-  audio/inputdevicemodel.cpp
-  audio/managermodel.cpp
-  audio/outputdevicemodel.cpp
-  audio/ringtonedevicemodel.cpp
-  audio/settings.cpp
-
-
-  #Data backends
-  transitionalcontactbackend.cpp
-  legacyhistorybackend.cpp
-  abstractitembackend.cpp
-
-  #Communication
-  dbus/configurationmanager.cpp
-  dbus/callmanager.cpp
-  dbus/instancemanager.cpp
-  dbus/videomanager.cpp
-  dbus/presencemanager.cpp
-
-  #Visitors
-  visitors/accountlistcolorvisitor.cpp
-  visitors/phonenumberselector.cpp
-  visitors/numbercategoryvisitor.cpp
-  visitors/pixmapmanipulationvisitor.cpp
-  visitors/presenceserializationvisitor.cpp
-  visitors/itemmodelstateserializationvisitor.cpp
-
-  #Other
-  sflphone_const.h
-  categorizedcompositenode.cpp
-  hookmanager.cpp
-
-  #Extension
-  extensions/presenceitembackendmodelextension.cpp
-)
-
-set( qtsflphone_LIB_HDRS
-  account.h
-  accountmodel.h
-  call.h
-  callmodel.h
-  historymodel.h
-  contact.h
-  abstractitembackend.h
-  abstractbookmarkmodel.h
-  credentialmodel.h
-  instantmessagingmodel.h
-  imconversationmanager.h
-  contactproxymodel.h
-  useractionmodel.h
-  presencestatusmodel.h
-  phonenumber.h
-  phonedirectorymodel.h
-  historytimecategorymodel.h
-  numbercategorymodel.h
-  keyexchangemodel.h
-  tlsmethodmodel.h
-  numbercompletionmodel.h
-  categorizedaccountmodel.h
-  numbercategory.h
-  ringtonemodel.h
-  lastusednumbermodel.h
-  securityvalidationmodel.h
-  certificate.h
-  contactmodel.h
-  transitionalcontactbackend.h
-  abstractitembackend.h
-  itembackendmodel.h
-  hookmanager.h
-  uri.h
-  abstractitembackendmodelextension.h
-  video/device.h
-  video/devicemodel.h
-  video/sourcesmodel.h
-  video/codec.h
-  video/codecmodel2.h
-  video/manager.h
-  video/renderer.h
-  video/resolution.h
-  video/channel.h
-  video/rate.h
-  audio/alsapluginmodel.h
-  audio/codecmodel.h
-  audio/inputdevicemodel.h
-  audio/managermodel.h
-  audio/outputdevicemodel.h
-  audio/ringtonedevicemodel.h
-  audio/settings.h
-
-  extensions/presenceitembackendmodelextension.h
-  #commonbackendmanagerinterface.h
-)
-
-set( qtsflphone_extra_LIB_HDRS
-  typedefs.h
-  sflphone_const.h
-  visitors/accountlistcolorvisitor.h
-  visitors/phonenumberselector.h
-  visitors/presenceserializationvisitor.h
-  visitors/itemmodelstateserializationvisitor.h
-)
-
-
-
-# Include the headers for linking directly with libDring (used on platforms
-# that don't have/use dbus.
-IF(${ENABLE_LIBWRAP} MATCHES true)
-    SET_SOURCE_FILES_PROPERTIES(
-        qtwrapper/presencemanager_wrap.h
-        PROPERTIES
-        CLASSNAME PresenceManagerInterface
-        INCLUDE "qtwrapper/metatypes.h")
-
-    SET_SOURCE_FILES_PROPERTIES(
-        qtwrapper/configurationmanager_wrap.h
-        PROPERTIES
-        CLASSNAME PresenceManagerInterface
-        INCLUDE "qtwrapper/metatypes.h")
-ELSE() # Use dbus to communicate with libDring
-
-   # presence manager interface
-   SET ( presencemanager_xml  ${dbus_xml_introspecs_path}/presencemanager-introspec.xml )
-
-   SET_SOURCE_FILES_PROPERTIES(
-      ${presencemanager_xml}
-      PROPERTIES
-      CLASSNAME PresenceManagerInterface
-      INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h")
-
-   IF(${ENABLE_QT5} MATCHES true)
-      QT5_ADD_DBUS_INTERFACE(
-         qtsflphone_LIB_SRCS
-         ${presencemanager_xml}
-         presencemanager_dbus_interface
-      )
-   ELSE()
-      QT4_ADD_DBUS_INTERFACE(
-         qtsflphone_LIB_SRCS
-         ${presencemanager_xml}
-         presencemanager_dbus_interface
-      )
-
-   ENDIF(${ENABLE_QT5} MATCHES true)
-
-   # configuration manager interface
-   SET ( configurationmanager_xml  ${dbus_xml_introspecs_path}/configurationmanager-introspec.xml )
-
-   SET_SOURCE_FILES_PROPERTIES(
-      ${configurationmanager_xml}
-      PROPERTIES
-      CLASSNAME ConfigurationManagerInterface
-      INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h")
-
-   IF(${ENABLE_QT5} MATCHES true)
-      QT5_ADD_DBUS_INTERFACE(
-         qtsflphone_LIB_SRCS
-         ${configurationmanager_xml}
-         configurationmanager_dbus_interface
-      )
-   ELSE()
-      QT4_ADD_DBUS_INTERFACE(
-         qtsflphone_LIB_SRCS
-         ${configurationmanager_xml}
-         configurationmanager_dbus_interface
-      )
-
-   ENDIF(${ENABLE_QT5} MATCHES true)
-
-   # call manager interface
-   SET ( callmanager_xml  ${dbus_xml_introspecs_path}/callmanager-introspec.xml )
-
-   SET_SOURCE_FILES_PROPERTIES(
-      ${callmanager_xml}
-      PROPERTIES
-      CLASSNAME CallManagerInterface
-      INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h")
-
-   IF(${ENABLE_QT5} MATCHES true)
-      QT5_ADD_DBUS_INTERFACE(
-         qtsflphone_LIB_SRCS
-         ${callmanager_xml}
-         callmanager_dbus_interface
-      )
-   ELSE()
-      QT4_ADD_DBUS_INTERFACE(
-         qtsflphone_LIB_SRCS
-         ${callmanager_xml}
-         callmanager_dbus_interface
-      )
-   ENDIF(${ENABLE_QT5} MATCHES true)
-
-
-   # video manager interface
-   SET ( video_xml  ${dbus_xml_introspecs_path}/videomanager-introspec.xml )
-
-   SET_SOURCE_FILES_PROPERTIES(
-      ${video_xml}
-      PROPERTIES
-      CLASSNAME VideoManagerInterface
-      INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h")
-
-   IF(${ENABLE_QT5} MATCHES true)
-      QT5_ADD_DBUS_INTERFACE(
-         qtsflphone_LIB_SRCS
-         ${video_xml}
-         video_dbus_interface
-      )
-   ELSE()
-      QT4_ADD_DBUS_INTERFACE(
-         qtsflphone_LIB_SRCS
-         ${video_xml}
-         video_dbus_interface
-      )
-   ENDIF(${ENABLE_QT5} MATCHES true)
-
-   # instance interface
-   SET ( instance_xml  ${dbus_xml_introspecs_path}/instance-introspec.xml )
-
-   SET_SOURCE_FILES_PROPERTIES(
-      ${instance_xml}
-      PROPERTIES
-      CLASSNAME InstanceInterface
-      INCLUDE "${CMAKE_CURRENT_SOURCE_DIR}/dbus/metatypes.h")
-
-   IF(${ENABLE_QT5} MATCHES true)
-      QT5_ADD_DBUS_INTERFACE(
-         qtsflphone_LIB_SRCS
-         ${instance_xml}
-         instance_dbus_interface
-      )
-   ELSE()
-      QT4_ADD_DBUS_INTERFACE(
-         qtsflphone_LIB_SRCS
-         ${instance_xml}
-         instance_dbus_interface
-      )
-   ENDIF(${ENABLE_QT5} MATCHES true)
-
-
-ENDIF(${ENABLE_LIBWRAP} MATCHES true)
-
-
-# Manually wrap private files
-SET(qtsflphone_PRIVATE_HDRS
-   private/call_p.h
-   private/phonedirectorymodel_p.h
-   private/instantmessagingmodel_p.h
-
-    #OS X
-    qtwrapper/callmanager_wrap.h
-    qtwrapper/configurationmanager_wrap.h
-    qtwrapper/instancemanager_wrap.h
-    qtwrapper/presencemanager_wrap.h
-    qtwrapper/videomanager_wrap.h
-)
-
-IF(${ENABLE_QT5} MATCHES true)
-   QT5_WRAP_CPP(LIB_HEADER_MOC ${qtsflphone_PRIVATE_HDRS})
-ELSE()
-   QT4_WRAP_CPP(LIB_HEADER_MOC ${qtsflphone_PRIVATE_HDRS})
-ENDIF(${ENABLE_QT5} MATCHES true)
-
-
-add_library( qtsflphone  SHARED ${qtsflphone_LIB_SRCS} ${LIB_HEADER_MOC} )
-# REMOVE_DEFINITIONS("-w")
-
-IF(${ENABLE_QT5} MATCHES true)
-   QT5_USE_MODULES(qtsflphone Core DBus)
-ENDIF(${ENABLE_QT5} MATCHES true)
-
-IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-   SET(LINK_LIBRT "-lrt")
-ENDIF()
-
-target_link_libraries( qtsflphone
-  ${LINK_LIBRT}
-  -lpthread
-  ${QT_QTDBUS_LIBRARY}
-  ${QT_QTCORE_LIBRARY}
-  ${LIB_SFLPHONE}
-)
-
-set_target_properties( qtsflphone
-  PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_VERSION}
-)
-
-SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include)
-
-install( FILES ${qtsflphone_LIB_HDRS} ${qtsflphone_extra_LIB_HDRS}
-  DESTINATION ${INCLUDE_INSTALL_DIR}/qtsflphone
-  COMPONENT Devel
-)
-
-# Link to Dring library if we are using native calls (no dbus)
-IF(${ENABLE_LIBWRAP} MATCHES true)
-    MESSAGE("Linking with ${CMAKE_SOURCE_DIR}/libsflphone.dylib")
-    TARGET_LINK_LIBRARIES(qtsflphone ${CMAKE_SOURCE_DIR}/libsflphone.0.dylib)
-ENDIF(${ENABLE_LIBWRAP} MATCHES true)
-
-#This hack force Debian based system to return a non multi-arch path
-#this is required to prevent the .deb libqtsflphone.so from having an
-#higher priority than the prefixed one.
-STRING(REPLACE "${CMAKE_LIBRARY_ARCHITECTURE}" "" SANE_LIBRARY_PATH "${CMAKE_INSTALL_FULL_LIBDIR}" )
-
-install( TARGETS qtsflphone
-  ARCHIVE DESTINATION ${SANE_LIBRARY_PATH}
-  LIBRARY DESTINATION ${SANE_LIBRARY_PATH}
-  DESTINATION ${SANE_LIBRARY_PATH}
-)