diff -ur a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt 2016-12-10 19:14:35.000000000 +0100 +++ b/src/CMakeLists.txt 2016-12-10 19:25:26.152699669 +0100 @@ -1,3 +1,6 @@ +# add DBUS Option +option (DBUS "DBUS" OFF) + # Prevent custom commands/targets outputs to be deleted by make clean # We need this to prevent .ts files from being deleted with make clean, when # UPDATE_TRANSLATIONS=ON @@ -19,9 +22,9 @@ find_package(Qt5WebKitWidgets) find_package(Qt5LinguistTools) find_package(Qt5PrintSupport) -if(UNIX) +if(UNIX AND DBUS) find_package(Qt5DBus) -endif(UNIX) +endif(UNIX AND DBUS) find_package(GDAL REQUIRED) find_package(PROJ REQUIRED) find_package(ROUTINO REQUIRED) @@ -289,12 +292,12 @@ setup/CLogHandler.cpp ) -if(UNIX AND NOT APPLE) +if(UNIX AND DBUS AND NOT APPLE) set( SRCS ${SRCS} device/CDeviceWatcherLinux.cpp ) -endif(UNIX AND NOT APPLE) +endif(UNIX AND DBUS AND NOT APPLE) if (APPLE) set( SRCS @@ -553,12 +556,12 @@ setup/IAppSetup.h ) -if(UNIX AND NOT APPLE) +if(UNIX AND DBUS AND NOT APPLE) set( HDRS ${HDRS} device/CDeviceWatcherLinux.h ) -endif(UNIX AND NOT APPLE) +endif(UNIX AND DBUS AND NOT APPLE) if(APPLE) set( HDRS @@ -724,11 +727,11 @@ add_library(QMS ${LIBINP}) add_executable(${APPLICATION_NAME} WIN32 ${MAININP}) -if(UNIX) +if(UNIX AND DBUS) set(DBUS_LIB Qt5::DBus) -else(UNIX) +else(UNIX AND DBUS) set(DBUS_LIB) -endif(UNIX) +endif(UNIX AND DBUS) target_link_libraries(QMS Qt5::Widgets diff -ur a/test/unittest/CMakeLists.txt b/test/unittest/CMakeLists.txt --- a/test/unittest/CMakeLists.txt 2016-12-10 19:14:35.000000000 +0100 +++ b/test/unittest/CMakeLists.txt 2016-12-10 19:26:09.165697664 +0100 @@ -13,9 +13,9 @@ find_package(Qt5WebKitWidgets) find_package(Qt5LinguistTools) find_package(Qt5PrintSupport) -if(UNIX) +if(UNIX AND DBUS) find_package(Qt5DBus) -endif(UNIX) +endif(UNIX AND DBUS) find_package(GDAL REQUIRED) find_package(PROJ REQUIRED) find_package(ROUTINO REQUIRED) @@ -20,11 +20,11 @@ find_package(PROJ REQUIRED) find_package(ROUTINO REQUIRED) -if(UNIX) +if(UNIX AND DBUS) set(DBUS_LIB Qt5::DBus) -else(UNIX) +else(UNIX AND DBUS) set(DBUS_LIB) -endif(UNIX) +endif(UNIX AND DBUS) if(UNIX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") diff -ur a/src/device/IDevice.cpp b/src/device/IDevice.cpp --- a/src/device/IDevice.cpp 2016-07-12 09:15:42.000000000 +0200 +++ b/src/device/IDevice.cpp 2016-12-11 10:44:02.000000000 +0100 @@ -23,7 +23,7 @@ #include "helpers/CSelectCopyAction.h" #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) -#include + #endif int IDevice::cnt = 0; @@ -53,26 +53,26 @@ void IDevice::mount(const QString& path) { #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) - QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.UDisks2",path,"org.freedesktop.UDisks2.Filesystem","Mount"); +// QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.UDisks2",path,"org.freedesktop.UDisks2.Filesystem","Mount"); QVariantMap args; args.insert("options", "sync"); - message << args; +// message << args; #if defined(Q_OS_FREEBSD) // XXX Hunc sint race conditions - call bsdisks (UDisks2) too fast, // get a malformed reply, crash. QThread::sleep(1); #endif - QDBusConnection::systemBus().call(message); +// QDBusConnection::systemBus().call(message); #endif } void IDevice::umount(const QString &path) { #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) - QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.UDisks2",path,"org.freedesktop.UDisks2.Filesystem","Unmount"); +// QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.UDisks2",path,"org.freedesktop.UDisks2.Filesystem","Unmount"); QVariantMap args; - message << args; - QDBusConnection::systemBus().call(message); +// message << args; +// QDBusConnection::systemBus().call(message); #endif } diff -ur a/src/gis/CGisListWks.cpp b/src/gis/CGisListWks.cpp --- a/src/gis/CGisListWks.cpp 2016-09-12 09:49:54.000000000 +0200 +++ b/src/gis/CGisListWks.cpp 2016-12-11 10:49:13.000000000 +0100 @@ -205,8 +205,8 @@ } #if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) - deviceWatcher = new CDeviceWatcherLinux(this); - connect(deviceWatcher, &CDeviceWatcherLinux::sigChanged, this, &CGisListWks::sigChanged); +// deviceWatcher = new CDeviceWatcherLinux(this); +// connect(deviceWatcher, &CDeviceWatcherLinux::sigChanged, this, &CGisListWks::sigChanged); #endif #ifdef Q_OS_MAC deviceWatcher = new CDeviceWatcherMac(this);