diff --git a/CMakeLists.txt b/CMakeLists.txt
index de93c879e0ed9e356e344fe6bb599416c0c0579f..cf32fca2fc7a883b827bff0ae566fe750f467c83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,7 @@ FIND_PACKAGE(Ring REQUIRED)
 IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
     ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/src/qtwrapper)
     ADD_DEFINITIONS(-DENABLE_LIBWRAP=true) # Use native calls (no dbus)
+    ADD_DEFINITIONS(-Wno-unknown-pragmas)
     SET(ENABLE_QT5 true) # Use Qt5
     SET(ENABLE_LIBWRAP true)
     MESSAGE("Compiling for OS X: LibWrap enabled, Qt5 enabled.")
@@ -401,7 +402,10 @@ IF(NOT ${ENABLE_STATIC} MATCHES false)
 ENDIF()
 
 IF(${ENABLE_QT5} MATCHES true)
-   QT5_USE_MODULES(ringclient Core DBus)
+   QT5_USE_MODULES(ringclient Core)
+   IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+      QT5_USE_MODULES(ringclient DBus)
+   ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 ENDIF(${ENABLE_QT5} MATCHES true)
 
 IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
diff --git a/INSTALL b/INSTALL
index 6f49cab8dc4a05a14c4c1e55e9637b6d3bfac592..11bdc50887465ebcc55d03049a03be17e298263e 100644
--- a/INSTALL
+++ b/INSTALL
@@ -21,7 +21,7 @@ To install the appplication, type the following commands in a console, while in
 	make -j3
 	sudo make install
 
-To generate a source tarball (sflphone-cliend-kde.tar.xz), just execute release.sh
+To generate a source tarball (ring-cliend-kde.tar.xz), just execute release.sh
 
 Explaination
 ==================
@@ -50,21 +50,17 @@ OS X Install
 
 # Install necessary tools:
 brew install dbus cmake
-brew install qt5 --with-d-bus
+brew install qt5
 export CMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.3.2/
 
-# First make sure you have built sflphone daemon for OS X. You currently need some special
-# care, but as the port matures, that should get fixed.
-
-cd ~/sflphone-kde/src/lib/
-install_name_tool -id @executable_path/libsflphone.0.dylib libsflphone.0.dylib
+# First make sure you have built ring daemon for OS X.
 
 mkdir build && cd build
 cmake .. [-DCMAKE_BUILD_TYPE=Debug for compiling with debug symbols]
 make
 
-install_name_tool -change @rpath/libsflphone.0.dylib @executable_path/libsflphone.0.dylib libqtsflphone.1.4.1.dylib
-install_name_tool -id @executable_path/libqtsflphone.1.4.1.dylib libqtsflphone.1.4.1.dylib
+install_name_tool -change @rpath/libring.0.dylib @executable_path/libring.0.dylib libringclient.1.4.1.dylib
+install_name_tool -id @executable_path/libringclient.1.4.1.dylib libringclient.1.4.1.dylib
 
 # You can now use thes libraries in a QtCreator project. Don't forget to copy both dylibs inside
 # your .app/Contents/MacOS/
diff --git a/cmake/FindRing.cmake b/cmake/FindRing.cmake
index 74d18248a7e451d703db6e2c8527b84fc73a7bd5..81b63b639552360f38ccd0736187c5a8f115c114 100644
--- a/cmake/FindRing.cmake
+++ b/cmake/FindRing.cmake
@@ -11,7 +11,7 @@ ELSE()
    Add -DRING_BUILD_DIR or -DCMAKE_INSTALL_PREFIX")
 ENDIF()
 
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib")
+SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib;.so;.dll")
 FIND_LIBRARY(ring_BIN NAMES ring 
              PATHS ${RING_BUILD_DIR}/.libs 
              PATHS ${CMAKE_INSTALL_PREFIX}/libexec )
diff --git a/cmake/LibRingClientConfig.cmake.in b/cmake/LibRingClientConfig.cmake.in
index a4afb95986bff9b57274aba7f55834b3ad012dd6..1b49464237089379a6bf618d87e67b3dbb7f086f 100644
--- a/cmake/LibRingClientConfig.cmake.in
+++ b/cmake/LibRingClientConfig.cmake.in
@@ -5,4 +5,13 @@ INCLUDE(GNUInstallDirs)
 SET(LIB_RING_CLIENT_INCLUDE_DIR ${INCLUDE_INSTALL_DIR}/libringclient/)
 
 STRING(REPLACE "${CMAKE_LIBRARY_ARCHITECTURE}" "" SANE_LIBRARY_PATH "${CMAKE_INSTALL_FULL_LIBDIR}" )
-SET(LIB_RING_CLIENT_LIBRARY ${SANE_LIBRARY_PATH}/libringclient.so)
\ No newline at end of file
+
+IF(DEFINED ${ENABLE_STATIC})
+   SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.la;.lib")
+ELSE()
+   SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib;.so;.dll")
+ENDIF()
+
+FIND_LIBRARY(LIB_RING_CLIENT_LIBRARY NAMES ringclient
+             PATHS ${RING_BUILD_DIR}/.libs
+             PATHS ${CMAKE_INSTALL_PREFIX}/libexec )
diff --git a/src/accountmodel.cpp b/src/accountmodel.cpp
index 78469157612b2b9f2db927b17a8c167d41addbe5..e980d8166292ef3a720d49da63272186bc947898 100644
--- a/src/accountmodel.cpp
+++ b/src/accountmodel.cpp
@@ -21,6 +21,7 @@
 
 //Qt
 #include <QtCore/QObject>
+#include <QtCore/QCoreApplication>
 
 //Ring library
 #include "dbus/configurationmanager.h"
diff --git a/src/audio/settings.cpp b/src/audio/settings.cpp
index bd18600c76cc9f730834133dc6917a540824211a..0055304f9e1e5290b24e8a7dda80d8ea70fedb44 100644
--- a/src/audio/settings.cpp
+++ b/src/audio/settings.cpp
@@ -17,6 +17,9 @@
  ***************************************************************************/
 #include "settings.h"
 
+//Qt include
+#include <QUrl>
+
 //Ring
 #include "dbus/configurationmanager.h"
 #include "dbus/callmanager.h"
diff --git a/src/callmodel.cpp b/src/callmodel.cpp
index f6fa6850a13dce1abac08144ea2c83c945a34afc..c7e516e1dfb5912b450924380be83ad699b3e41e 100644
--- a/src/callmodel.cpp
+++ b/src/callmodel.cpp
@@ -19,7 +19,9 @@
 
 //Qt
 #include <QtCore/QDebug>
+#include <QtCore/QCoreApplication>
 #include <QtGui/QDragEnterEvent>
+#include <QtCore/QMimeData>
 
 //Ring library
 #include "call.h"
diff --git a/src/dbus/metatypes.h b/src/dbus/metatypes.h
index ba3c85fb10453cfa2237a46238ebbbfaf224a784..86a1934943c60c588c8b793b7d44f009d12d2ba2 100644
--- a/src/dbus/metatypes.h
+++ b/src/dbus/metatypes.h
@@ -23,7 +23,10 @@
 #include <QtCore/QMap>
 #include <QVector>
 #include <QtCore/QString>
+
+#ifndef ENABLE_LIBWRAP
 #include <QtDBus/QtDBus>
+#endif
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
 typedef QMap<QString, QString> MapStringString;
@@ -42,6 +45,7 @@ Q_DECLARE_METATYPE(VectorInt)
 Q_DECLARE_METATYPE(VectorString)
 Q_DECLARE_METATYPE(MapStringVectorString)
 
+#ifndef ENABLE_LIBWRAP
 static bool dbus_metaTypeInit = false;
 inline void registerCommTypes() {
 	qDBusRegisterMetaType<MapStringString>();
@@ -53,6 +57,12 @@ inline void registerCommTypes() {
         qDBusRegisterMetaType<MapStringVectorString>();
    dbus_metaTypeInit = true;
 }
+#else
+inline void registerCommTypes() {
+
+}
+#endif
+
 #pragma GCC diagnostic pop
 
 #endif
diff --git a/src/historymodel.cpp b/src/historymodel.cpp
index f762ffcb8c2aa623fc177e60808be54ea58c7977..d532dc0085741cad733399374377c107a0c3ecd9 100644
--- a/src/historymodel.cpp
+++ b/src/historymodel.cpp
@@ -20,6 +20,10 @@
 //C include
 #include <time.h>
 
+//Qt include
+#include <QMimeData>
+#include <QCoreApplication>
+
 //Ring lib
 #include "mime.h"
 #include "dbus/callmanager.h"
diff --git a/src/qtwrapper/callmanager_wrap.h b/src/qtwrapper/callmanager_wrap.h
index e27b8a91d58d5950a0bae107c460e0b7a9ea27af..5a29bd06384f44bdf738336c230c25ee8b0bd9b7 100644
--- a/src/qtwrapper/callmanager_wrap.h
+++ b/src/qtwrapper/callmanager_wrap.h
@@ -25,7 +25,6 @@
 #include <QtCore/QString>
 #include <QtCore/QStringList>
 #include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
 
 #include <ring.h>
 #include "../dbus/metatypes.h"
diff --git a/src/qtwrapper/configurationmanager_wrap.h b/src/qtwrapper/configurationmanager_wrap.h
index 360b72f81f1c252d38f271fc1f4ebf4503054f3a..d565b13a2eb976ce6395fa4d6584d13492bcce23 100644
--- a/src/qtwrapper/configurationmanager_wrap.h
+++ b/src/qtwrapper/configurationmanager_wrap.h
@@ -25,7 +25,6 @@
 #include <QtCore/QString>
 #include <QtCore/QStringList>
 #include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
 
 #include <future>
 
diff --git a/src/qtwrapper/conversions_wrap.hpp b/src/qtwrapper/conversions_wrap.hpp
index e28115dbfe0b330135da5988fa222b71b14a1037..39cf326ece65886731d3feabe66225e75ebfb01a 100644
--- a/src/qtwrapper/conversions_wrap.hpp
+++ b/src/qtwrapper/conversions_wrap.hpp
@@ -24,6 +24,8 @@
 
 #include "../dbus/metatypes.h"
 
+#define Q_NOREPLY
+
 inline MapStringString convertMap(const std::map<std::string, std::string>& m) {
     MapStringString temp;
     for (const auto& x : m) {
diff --git a/src/qtwrapper/instancemanager.cpp b/src/qtwrapper/instancemanager.cpp
index bf33856ce2a0207d9f2566bb9d21de6a2ef14af2..7178f451c730a44ffddeba63d3a7c265e1537be5 100644
--- a/src/qtwrapper/instancemanager.cpp
+++ b/src/qtwrapper/instancemanager.cpp
@@ -24,7 +24,6 @@
  #include "videomanager.h"
 #endif //ENABLE_VIDEO
 
-
 static int ringFlags = 0;
 
 InstanceInterface::InstanceInterface() : m_pTimer(nullptr)
diff --git a/src/qtwrapper/instancemanager_wrap.h b/src/qtwrapper/instancemanager_wrap.h
index eac6472ac5b1f2396d7727e63084152f4053696f..c9621e44e7e90aafda0c066b235b8759bda9f82d 100644
--- a/src/qtwrapper/instancemanager_wrap.h
+++ b/src/qtwrapper/instancemanager_wrap.h
@@ -25,6 +25,7 @@
 #include <QString>
 #include <QStringList>
 #include <QVariant>
+#include <QTimer>
 
 #include "ring.h"
 #include "../dbus/metatypes.h"
diff --git a/src/qtwrapper/presencemanager_wrap.h b/src/qtwrapper/presencemanager_wrap.h
index b68904f05f38b0a4f03b6290d87c452e9007f1ad..062e277c12bf5da5f9b8131423171a47402e5add 100644
--- a/src/qtwrapper/presencemanager_wrap.h
+++ b/src/qtwrapper/presencemanager_wrap.h
@@ -25,7 +25,6 @@
 #include <QtCore/QString>
 #include <QtCore/QStringList>
 #include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
 
 #include <ring.h>
 
diff --git a/src/qtwrapper/videomanager_wrap.h b/src/qtwrapper/videomanager_wrap.h
index b6aff490305f813d16eaf7b407d596dab7a66634..5d7c3c462e02f06898a3323415f5b9eb2696bed8 100644
--- a/src/qtwrapper/videomanager_wrap.h
+++ b/src/qtwrapper/videomanager_wrap.h
@@ -25,7 +25,6 @@
 #include <QtCore/QString>
 #include <QtCore/QStringList>
 #include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
 
 #include <ring.h>
 #include "../dbus/metatypes.h"
diff --git a/src/ringtonemodel.cpp b/src/ringtonemodel.cpp
index 20e06181daab5e2078e5b437677e8acf01fe08fc..2bcbc2fda51d6749dda6b0d35310895a6adc1a83 100644
--- a/src/ringtonemodel.cpp
+++ b/src/ringtonemodel.cpp
@@ -19,6 +19,7 @@
 
 //Qt
 #include <QtCore/QTimer>
+#include <QtCore/QFileInfo>
 
 //Ring
 #include "dbus/configurationmanager.h"