From 0898a9987897fb825422a0cb64b90eb58aa5819c Mon Sep 17 00:00:00 2001 From: arcan1s Date: Tue, 21 Oct 2014 13:06:57 +0400 Subject: [PATCH 1/2] updte dataengine skel --- sources/dataengine/CMakeLists.txt | 49 ++++++++++++++++++++++++++----- sources/dataengine/netctl.cpp | 5 ++-- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/sources/dataengine/CMakeLists.txt b/sources/dataengine/CMakeLists.txt index 8712186..4c78a58 100644 --- a/sources/dataengine/CMakeLists.txt +++ b/sources/dataengine/CMakeLists.txt @@ -3,16 +3,49 @@ set (SUBPROJECT plasma_engine_netctl) message (STATUS "Subproject ${SUBPROJECT}") # find required libaries -find_package (KDE4 REQUIRED) -include (KDE4Defaults) +set(QT_MIN_VERSION "5.3.0") +set(KF5_MIN_VERSION "5.0.0") +set(INSTALL_SDDM_THEME TRUE) +find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Widgets Quick QuickWidgets Concurrent Test Script Network) -add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) +find_package(ECM 0.0.11 REQUIRED NO_MODULE) +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) + +find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS + Plasma DocTools Runner JsEmbed NotifyConfig Su NewStuff Wallet KCMUtils Baloo + IdleTime Declarative WebKit TextWidgets KDELibs4Support Crash) + +# WARNING PlasmaQuick provides unversioned CMake config +find_package(KF5 REQUIRED COMPONENTS PlasmaQuick) +find_package(KF5 REQUIRED COMPONENTS SysGuard) +find_package(KF5 REQUIRED COMPONENTS Screen) +find_package(KF5TextEditor) +find_package(KWinDBusInterface CONFIG REQUIRED) + +include(KDEInstallDirs) +include(KDECMakeSettings) +include(KDECompilerSettings) +include(ECMPackageConfigHelpers) +include(ECMMarkNonGuiExecutable) +include(CMakePackageConfigHelpers) +include(WriteBasicConfigVersionFile) +include(CheckIncludeFiles) +include(FeatureSummary) + +include_directories (/usr/include/KF5/KService + /usr/include/KF5/KConfigCore + /usr/include/KF5/KCoreAddons) +add_definitions(${Qt5Core_DEFINITIONS} ${Qt5Network_DEFINITIONS}) +# add_definitions (${QT_DEFINITIONS} ${KF5_DEFINITIONS}) include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} - ${KDE4_INCLUDES} + ${INTERFACE_INCLUDE_DIRECTORIES} + ${Plasma_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../ - ${PROJECT_TRDPARTY_DIR}) + ${PROJECT_TRDPARTY_DIR} + ${Qt5Core_INCLUDE_DIRS} + ${Qt5Network_INCLUDE_DIRS}) set (PLUGIN_NAME ${SUBPROJECT}) file (GLOB SUBPROJECT_DESKTOP_IN *.desktop) @@ -25,9 +58,9 @@ file (GLOB SUBPROJECT_CONF *.conf) configure_file (${SUBPROJECT_DESKTOP_IN} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP}) # make -qt4_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER}) -kde4_add_plugin (${PLUGIN_NAME} ${SUBPROJECT_SOURCE} ${TASK_MOC_SOURCE}) -target_link_libraries (${PLUGIN_NAME} ${KDE4_KDECORE_LIBS} ${KDE4_PLASMA_LIBS} ${QT_QTNETWORK_LIBRARY}) +qt5_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER}) +add_library (${PLUGIN_NAME} MODULE ${SUBPROJECT_SOURCE} ${TASK_MOC_SOURCE}) +target_link_libraries (${PLUGIN_NAME} KF5::Plasma ${Qt5Network_LIBRARIES}) # install install (TARGETS ${PLUGIN_NAME} DESTINATION ${PLUGIN_INSTALL_DIR}) diff --git a/sources/dataengine/netctl.cpp b/sources/dataengine/netctl.cpp index f37bcc2..0b2ed04 100644 --- a/sources/dataengine/netctl.cpp +++ b/sources/dataengine/netctl.cpp @@ -17,8 +17,6 @@ #include "netctl.h" -#include -#include #include #include @@ -89,7 +87,8 @@ void Netctl::readConfiguration() rawConfig[QString("NETCTLCMD")] = QString("/usr/bin/netctl"); rawConfig[QString("NETCTLAUTOCMD")] = QString("/usr/bin/netctl-auto"); - QString fileName = KGlobal::dirs()->findResource("config", "netctl.conf"); + // TODO: correct filename + QString fileName = QString(".config/netctl.conf"); if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << fileName; QFile configFile(fileName); if (!configFile.open(QIODevice::ReadOnly)) { From 030dec5e147a0a1c15523b593f1643a9d6cdfd3b Mon Sep 17 00:00:00 2001 From: arcan1s Date: Tue, 21 Oct 2014 16:26:35 +0400 Subject: [PATCH 2/2] end porting of DE to KF5 --- sources/CMakeLists.txt | 2 +- sources/dataengine/CMakeLists.txt | 54 ++++++++++--------------------- sources/dataengine/netctl.cpp | 4 +-- 3 files changed, 20 insertions(+), 40 deletions(-) diff --git a/sources/CMakeLists.txt b/sources/CMakeLists.txt index d0a774e..de0b2c2 100644 --- a/sources/CMakeLists.txt +++ b/sources/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8) +cmake_minimum_required (VERSION 2.8.12) cmake_policy (SET CMP0003 OLD) cmake_policy (SET CMP0002 OLD) diff --git a/sources/dataengine/CMakeLists.txt b/sources/dataengine/CMakeLists.txt index 4c78a58..2c1b074 100644 --- a/sources/dataengine/CMakeLists.txt +++ b/sources/dataengine/CMakeLists.txt @@ -3,49 +3,29 @@ set (SUBPROJECT plasma_engine_netctl) message (STATUS "Subproject ${SUBPROJECT}") # find required libaries -set(QT_MIN_VERSION "5.3.0") -set(KF5_MIN_VERSION "5.0.0") -set(INSTALL_SDDM_THEME TRUE) -find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Widgets Quick QuickWidgets Concurrent Test Script Network) +find_package (Qt5 REQUIRED COMPONENTS Widgets Network) +find_package (ECM 0.0.11 REQUIRED NO_MODULE) +set (CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) +find_package(KF5 REQUIRED COMPONENTS Plasma Service) -find_package(ECM 0.0.11 REQUIRED NO_MODULE) -set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) +include (KDEInstallDirs) +include (KDECMakeSettings) +include (KDECompilerSettings) +add_definitions (${Qt5Core_DEFINITIONS} ${Qt5Network_DEFINITIONS}) -find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS - Plasma DocTools Runner JsEmbed NotifyConfig Su NewStuff Wallet KCMUtils Baloo - IdleTime Declarative WebKit TextWidgets KDELibs4Support Crash) - -# WARNING PlasmaQuick provides unversioned CMake config -find_package(KF5 REQUIRED COMPONENTS PlasmaQuick) -find_package(KF5 REQUIRED COMPONENTS SysGuard) -find_package(KF5 REQUIRED COMPONENTS Screen) -find_package(KF5TextEditor) -find_package(KWinDBusInterface CONFIG REQUIRED) - -include(KDEInstallDirs) -include(KDECMakeSettings) -include(KDECompilerSettings) -include(ECMPackageConfigHelpers) -include(ECMMarkNonGuiExecutable) -include(CMakePackageConfigHelpers) -include(WriteBasicConfigVersionFile) -include(CheckIncludeFiles) -include(FeatureSummary) - -include_directories (/usr/include/KF5/KService - /usr/include/KF5/KConfigCore - /usr/include/KF5/KCoreAddons) -add_definitions(${Qt5Core_DEFINITIONS} ${Qt5Network_DEFINITIONS}) -# add_definitions (${QT_DEFINITIONS} ${KF5_DEFINITIONS}) +set (Qt_INCLUDE ${Qt5Core_INCLUDE_DIRS} + ${Qt5Network_INCLUDE_DIRS}) +set (Kf5_INCLUDE ${ConfigCore_INCLUDE_DIR} + ${CoreAddons_INCLUDE_DIR} + ${Plasma_INCLUDE_DIR} + ${Service_INCLUDE_DIR}) include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} - ${INTERFACE_INCLUDE_DIRECTORIES} - ${Plasma_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../ ${PROJECT_TRDPARTY_DIR} - ${Qt5Core_INCLUDE_DIRS} - ${Qt5Network_INCLUDE_DIRS}) + ${Qt_INCLUDE} + ${Kf5_INCLUDE}) set (PLUGIN_NAME ${SUBPROJECT}) file (GLOB SUBPROJECT_DESKTOP_IN *.desktop) @@ -60,7 +40,7 @@ configure_file (${SUBPROJECT_DESKTOP_IN} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJEC # make qt5_wrap_cpp (TASK_MOC_SOURCE ${TASK_HEADER}) add_library (${PLUGIN_NAME} MODULE ${SUBPROJECT_SOURCE} ${TASK_MOC_SOURCE}) -target_link_libraries (${PLUGIN_NAME} KF5::Plasma ${Qt5Network_LIBRARIES}) +target_link_libraries (${PLUGIN_NAME} ${Plasma_LIBRARIES} ${Qt5Network_LIBRARIES}) # install install (TARGETS ${PLUGIN_NAME} DESTINATION ${PLUGIN_INSTALL_DIR}) diff --git a/sources/dataengine/netctl.cpp b/sources/dataengine/netctl.cpp index 0b2ed04..3f51029 100644 --- a/sources/dataengine/netctl.cpp +++ b/sources/dataengine/netctl.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -87,8 +88,7 @@ void Netctl::readConfiguration() rawConfig[QString("NETCTLCMD")] = QString("/usr/bin/netctl"); rawConfig[QString("NETCTLAUTOCMD")] = QString("/usr/bin/netctl-auto"); - // TODO: correct filename - QString fileName = QString(".config/netctl.conf"); + QString fileName = QStandardPaths::locate(QStandardPaths::ConfigLocation, QString("netctl.conf")); if (debug) qDebug() << PDEBUG << ":" << "Configuration file" << fileName; QFile configFile(fileName); if (!configFile.open(QIODevice::ReadOnly)) {