diff --git a/sources/CMakeLists.txt b/sources/CMakeLists.txt index 514eb63..fad0b9a 100644 --- a/sources/CMakeLists.txt +++ b/sources/CMakeLists.txt @@ -21,13 +21,17 @@ message (STATUS "Project: ${PROJECT_NAME}") message (STATUS "Version: ${PROJECT_VERSION}") message (STATUS "Build date: ${CURRENT_DATE}") +option (BUILD_KDE4 "Build on KDE4" OFF) + # flags if (CMAKE_COMPILER_IS_GNUCXX) - set (CMAKE_CXX_FLAGS "-Wall -Wno-cpp -std=c++11") - set (CMAKE_CXX_FLAGS_DEBUG "-g -O0") - set (CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") + set (CMAKE_CXX_FLAGS "-Wall -Wno-cpp -std=c++11") + set (CMAKE_CXX_FLAGS_DEBUG "-g -O0") + set (CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG") + # avoid newer gcc warnings + add_definitions (-D_DEFAULT_SOURCE) else () - message (STATUS "Unknown compiler") + message (STATUS "Unknown compiler") endif () configure_file (${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h) diff --git a/sources/ext-sysmon/CMakeLists.txt b/sources/ext-sysmon/CMakeLists.txt index 7867ba5..43171a4 100644 --- a/sources/ext-sysmon/CMakeLists.txt +++ b/sources/ext-sysmon/CMakeLists.txt @@ -4,16 +4,38 @@ set (PLUGIN_NAME ${SUBPROJECT}) message (STATUS "Subproject ${SUBPROJECT}") # find required libaries -find_package (KDE4 REQUIRED) -include (KDE4Defaults) +if (BUILD_KDE4) + find_package (KDE4 REQUIRED) + include (KDE4Defaults) + + add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) + set (KDE_INCLUDE ${KDE4_INCLUDES}) +else () + find_package (Qt5 REQUIRED COMPONENTS Widgets) + find_package (ECM 0.0.11 REQUIRED NO_MODULE) + set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) + find_package(KF5 REQUIRED COMPONENTS Plasma Service) + + include (KDEInstallDirs) + include (KDECMakeSettings) + include (KDECompilerSettings) + + add_definitions (${Qt5Core_DEFINITIONS} ${Qt5Widgets_DEFINITIONS}) + set (Qt_INCLUDE ${Qt5Core_INCLUDE_DIRS} + ${Qt5Widgets_INCLUDE_DIRS}) + set (KDE_INCLUDE ${ConfigCore_INCLUDE_DIR} + ${CoreAddons_INCLUDE_DIR} + ${Plasma_INCLUDE_DIR} + ${Service_INCLUDE_DIR}) +endif () -add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} - ${KDE4_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../ - ${PROJECT_TRDPARTY_DIR}) + ${PROJECT_TRDPARTY_DIR} + ${Qt_INCLUDE} + ${KDE_INCLUDE}) file (GLOB SUBPROJECT_DESKTOP_IN *.desktop) file (RELATIVE_PATH SUBPROJECT_DESKTOP ${CMAKE_SOURCE_DIR} ${SUBPROJECT_DESKTOP_IN}) @@ -27,13 +49,25 @@ set (SUBPROJECT_SCRIPTS ${CMAKE_CURRENT_SOURCE_DIR}/scripts) configure_file (${SUBPROJECT_DESKTOP_IN} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP}) # make -qt4_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER}) -kde4_add_ui_files (SUBPROJECT_SOURCE ${SUBPROJECT_UI}) -kde4_add_plugin (${PLUGIN_NAME} ${SUBPROJECT_SOURCE} ${TASK_MOC_SOURCE}) -target_link_libraries (${PLUGIN_NAME} ${KDE4_KDECORE_LIBS} ${KDE4_PLASMA_LIBS}) +if (BUILD_KDE4) + qt4_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER}) + kde4_add_ui_files (SUBPROJECT_SOURCE ${SUBPROJECT_UI}) + kde4_add_plugin (${PLUGIN_NAME} ${SUBPROJECT_SOURCE} ${TASK_MOC_SOURCE}) + target_link_libraries (${PLUGIN_NAME} ${KDE4_KDECORE_LIBS} ${KDE4_PLASMA_LIBS}) +else () + qt5_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER}) + qt5_wrap_ui (SUBPROJECT_UI_HEADER ${SUBPROJECT_UI}) + add_library (${PLUGIN_NAME} MODULE ${SUBPROJECT_SOURCE} ${SUBPROJECT_UI_HEADER} ${TASK_MOC_SOURCE}) + target_link_libraries (${PLUGIN_NAME} ${Plasma_LIBRARIES} ${Qt5Widgets_LIBRARIES}) + kcoreaddons_desktop_to_json (${PLUGIN_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP}) +endif () # install -install (TARGETS ${PLUGIN_NAME} DESTINATION ${PLUGIN_INSTALL_DIR}) +if (BUILD_KDE4) + install (TARGETS ${PLUGIN_NAME} DESTINATION ${PLUGIN_INSTALL_DIR}) +else () + install (TARGETS ${PLUGIN_NAME} DESTINATION ${PLUGIN_INSTALL_DIR}/plasma/dataengine) +endif () install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP} DESTINATION ${SERVICES_INSTALL_DIR}) install (FILES ${SUBPROJECT_CONF} DESTINATION ${CONFIG_INSTALL_DIR}) -install (DIRECTORY ${SUBPROJECT_SCRIPTS} DESTINATION ${DATA_INSTALL_DIR}/${PLUGIN_NAME} USE_SOURCE_PERMISSIONS) +install (DIRECTORY ${SUBPROJECT_SCRIPTS} DESTINATION ${DATA_INSTALL_DIR}/${PLUGIN_NAME}) diff --git a/sources/ext-sysmon/extsysmon.cpp b/sources/ext-sysmon/extsysmon.cpp index 06ca695..1892b23 100644 --- a/sources/ext-sysmon/extsysmon.cpp +++ b/sources/ext-sysmon/extsysmon.cpp @@ -19,20 +19,27 @@ #include "extsysmon.h" #include -#include -#include -#include +#include + #include #include #include #include #include #include -#include #include #include #include +#include + +// KF5-KDE4 compability +#ifdef BUILD_KDE4 +#include +#include +#else +#include +#endif /* BUILD_KDE4 */ ExtendedSysMon::ExtendedSysMon(QObject* parent, const QVariantList& args) @@ -174,7 +181,7 @@ void ExtendedSysMon::readConfiguration() rawConfig[QString("PKGNULL")] = QString("0"); rawConfig[QString("PLAYER")] = QString("mpris"); - QString fileName = KGlobal::dirs()->findResource("config", "extsysmon.conf"); + QString fileName = KGlobal::dirs()->findResource("config", "plasma-dataengine-extsysmon.conf"); if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << fileName; QFile configFile(fileName); if (!configFile.open(QIODevice::ReadOnly)) { @@ -611,6 +618,10 @@ bool ExtendedSysMon::updateSourceEvent(const QString &source) } +#ifdef BUILD_KDE4 K_EXPORT_PLASMA_DATAENGINE(extsysmon, ExtendedSysMon) +#else +K_EXPORT_PLASMA_DATAENGINE_WITH_JSON(extsysmon, ExtendedSysMon, "plasma-dataengine-extsysmon.json") +#endif /* BUILD_KDE4 */ #include "extsysmon.moc" diff --git a/sources/ext-sysmon/extsysmon.conf b/sources/ext-sysmon/plasma-dataengine-extsysmon.conf similarity index 63% rename from sources/ext-sysmon/extsysmon.conf rename to sources/ext-sysmon/plasma-dataengine-extsysmon.conf index 8b142b1..6f84816 100644 --- a/sources/ext-sysmon/extsysmon.conf +++ b/sources/ext-sysmon/plasma-dataengine-extsysmon.conf @@ -1,24 +1,16 @@ -# Configuration file for Extended Systemmonitor DataEngine -# $kdehome/share/config/extsysmon.conf - +[Configuration] # ACPI devices -#ACPIPATH=/sys/class/power_supply/ - -# Set GPU device +ACPIPATH=/sys/class/power_supply/ # May be 'nvidia' (for nvidia), 'ati' (for ATI RADEON), 'disable' or 'auto' -#GPUDEV=auto - +GPUDEV=auto # Set block device for hddtemp comma separated or use 'all' or 'disable' -#HDDDEV=all - -# Set MPD settings -#MPDADDRESS=localhost -#MPDPORT=6600 - +HDDDEV=all +# mpd server settings +MPDADDRESS=localhost +MPDPORT=6600 # MPRIS player name or 'auto'. In the most cases it should be a player name -# DBus path is org.mpris.MediaPlayer2.amarok -#MPRIS=auto - +## DBus path is org.mpris.MediaPlayer2.amarok +MPRIS=auto # Package upgrade info ## from vicious ## Arch: PKGCMD=pacman -Qu PKGNULL=0 @@ -27,10 +19,9 @@ ## Fedora: PKGCMD=yum list updates PKGNULL=3 ## FreeBSD: PKGCMD=pkg_version -I -l '<' PKGNULL=0 ## Mandriva: PKGCMD=urpmq --auto-select PKGNULL=0 -# Commands to run, comma separated -#PKGCMD=pacman -Qu -# Number of null lines for commands, comma separated -#PKGNULL=0 - +## Commands to run, comma separated +PKGCMD=pacman -Qu +## Number of null lines for commands, comma separated +PKGNULL=0 # Player name. Supported players are 'mpd', 'mpris' -#PLAYER=mpris +PLAYER=mpris diff --git a/sources/version.h.in b/sources/version.h.in index 4fc401c..143ca39 100644 --- a/sources/version.h.in +++ b/sources/version.h.in @@ -26,5 +26,6 @@ // cmake properties #define CMAKE_BUILD_TYPE "@CMAKE_BUILD_TYPE@" #define CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" +#cmakedefine BUILD_KDE4 #endif /* VERSION_H */