Git commit 893ed69059762d622f4af1ee38380006a6bfd952 by Raymond Wooninck. Committed on 22/09/2012 at 20:37. Pushed by rwooninck into branch 'KDE/4.10'. Include possible building of the udisks2 solid backend. This is guided by u= sing a cmake build switch to enable the udisks2 backend and disable the udi= sks backend. Reviewed by Luca Beltrame CCMAIL: lukas@kde.org CCMAIL: lbeltrame@kde.org M +3 -0 CMakeLists.txt M +33 -13 solid/solid/CMakeLists.txt M +8 -0 solid/solid/managerbase.cpp http://commits.kde.org/kdelibs/893ed69059762d622f4af1ee38380006a6bfd952 diff --git a/CMakeLists.txt b/CMakeLists.txt index e9b4159..b46cce7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,9 @@ if(KDE_PLATFORM_FEATURE_DISABLE_DEPRECATED) set(KDE_NO_DEPRECATED TRUE) endif(KDE_PLATFORM_FEATURE_DISABLE_DEPRECATED) = +############### Give the user the option to build the udisks2 solid backen= d instead of the udisks backend ############### +option(WITH_SOLID_UDISKS2 "Enable the udisks2 solid backend instead") + ############### Load the CTest options ############### # CTestCustom.cmake has to be in the CTEST_BINARY_DIR. # in the KDE build system, this is the same as CMAKE_BINARY_DIR. diff --git a/solid/solid/CMakeLists.txt b/solid/solid/CMakeLists.txt index 0aa7a43..5cd1484 100644 --- a/solid/solid/CMakeLists.txt +++ b/solid/solid/CMakeLists.txt @@ -1,6 +1,7 @@ set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} ) add_subdirectory( ifaces ) include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DI= R} ) +include_directories( ${QT_QTDBUS_INCLUDE_DIR} ) = if(WIN32) include_directories( ${KDEWIN_INCLUDES} ) @@ -264,19 +265,38 @@ if(NOT WIN32 AND NOT APPLE) = # FIXME: this should work on more Unix systems if (CMAKE_SYSTEM_NAME MATCHES Linux) - message(STATUS "Building Solid UDisks backend." ) - set(solid_LIB_SRCS ${solid_LIB_SRCS} - backends/udisks/udisksmanager.cpp - backends/udisks/udisksdevice.cpp - backends/udisks/udisksblock.cpp - backends/udisks/udisksstoragevolume.cpp - backends/udisks/udisksdeviceinterface.cpp - backends/udisks/udisksopticaldisc.cpp - backends/udisks/udisksopticaldrive.cpp - backends/udisks/udisksstoragedrive.cpp - backends/udisks/udisksstorageaccess.cpp - backends/udisks/udisksgenericinterface.cpp - ) + + if ( WITH_SOLID_UDISKS2 ) + message(STATUS "Building Solid UDisks2 backend." ) + add_definitions(-DWITH_SOLID_UDISKS2) + set(solid_LIB_SRCS ${solid_LIB_SRCS} + backends/udisks2/udisksmanager.cpp + backends/udisks2/udisksdevice.cpp + backends/udisks2/udisksblock.cpp + backends/udisks2/udisksstoragevolume.cpp + backends/udisks2/udisksdeviceinterface.cpp + backends/udisks2/udisksopticaldisc.cpp + backends/udisks2/udisksopticaldrive.cpp + backends/udisks2/udisksstoragedrive.cpp + backends/udisks2/udisksstorageaccess.cpp + backends/udisks2/udisksgenericinterface.cpp + backends/udisks2/dbus/manager.cpp + ) + else ( WITH_SOLID_UDISKS2 ) + message(STATUS "Building Solid UDisks backend." ) + set(solid_LIB_SRCS ${solid_LIB_SRCS} + backends/udisks/udisksmanager.cpp + backends/udisks/udisksdevice.cpp + backends/udisks/udisksblock.cpp + backends/udisks/udisksstoragevolume.cpp + backends/udisks/udisksdeviceinterface.cpp + backends/udisks/udisksopticaldisc.cpp + backends/udisks/udisksopticaldrive.cpp + backends/udisks/udisksstoragedrive.cpp + backends/udisks/udisksstorageaccess.cpp + backends/udisks/udisksgenericinterface.cpp + ) + endif ( WITH_SOLID_UDISKS2 ) endif (CMAKE_SYSTEM_NAME MATCHES Linux) = message(STATUS "Building Solid fstab backend." ) diff --git a/solid/solid/managerbase.cpp b/solid/solid/managerbase.cpp index fb5a67c..beaeac5 100644 --- a/solid/solid/managerbase.cpp +++ b/solid/solid/managerbase.cpp @@ -31,7 +31,11 @@ #include "backends/iokit/iokitmanager.h" #elif defined (Q_OS_UNIX) #include "backends/hal/halmanager.h" +#if defined (WITH_SOLID_UDISKS2) +#include "backends/udisks2/udisksmanager.h" +#else #include "backends/udisks/udisksmanager.h" +#endif #include "backends/upower/upowermanager.h" = #if defined (HUPNP_FOUND) @@ -83,7 +87,11 @@ void Solid::ManagerBasePrivate::loadBackends() # if defined(UDEV_FOUND) m_backends << new Solid::Backends::UDev::UDevManager(0= ); # endif +# if defined(WITH_SOLID_UDISKS2) + m_backends << new Solid::Backends::UDisks2::Manager(0) +# else m_backends << new Solid::Backends::UDisks::UDisksManager(0) +# endif << new Solid::Backends::UPower::UPowerManager(0) << new Solid::Backends::Fstab::FstabManager(0); }