diff --git a/CMakeLists.txt b/CMakeLists.txt index 624b027..45208fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,159 +1,159 @@ cmake_minimum_required(VERSION 3.0) project(libksysguard) set(PROJECT_VERSION "5.18.80") set(PROJECT_VERSION_MAJOR 5) # check with non-Plasma consumers (e.g. KDevelop) before bumping these versions set(QT_MIN_VERSION "5.14.0") set(KF5_MIN_VERSION "5.66.0") find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings NO_POLICY_SCOPE) include(KDEClangFormat) include(ECMAddTests) include(ECMInstallIcons) include(ECMSetupVersion) include(ECMQtDeclareLoggingCategory) include(CMakePackageConfigHelpers) include(CheckIncludeFiles) include(CheckLibraryExists) include(FeatureSummary) include(GenerateExportHeader) find_package(Qt5 ${QT_MIN_VERSION} REQUIRED CONFIG COMPONENTS DBus Network Widgets Qml Quick) find_package(Qt5WebEngineWidgets ${QT_MIN_VERSION} CONFIG) set_package_properties(Qt5WebEngineWidgets PROPERTIES URL "git://code.qt.org/qt/qtwebenginewidgets.git" DESCRIPTION "Qt WebEngine module (web browsing engine)" TYPE OPTIONAL PURPOSE "Used by the HTML-based GUI ksysguard library" ) find_package(Qt5WebChannel ${QT_MIN_VERSION} CONFIG) set_package_properties(Qt5WebChannel PROPERTIES URL "git://code.qt.org/qt/qtwebchannel.git" DESCRIPTION "Qt WebChannel module" TYPE OPTIONAL PURPOSE "Used by the HTML-based GUI ksysguard library" ) -find_package(KF5 REQUIRED COMPONENTS CoreAddons Config I18n JobWidgets WindowSystem Completion Auth WidgetsAddons IconThemes ConfigWidgets Service GlobalAccel KIO Package Declarative) +find_package(KF5 REQUIRED COMPONENTS CoreAddons Config I18n JobWidgets WindowSystem Completion Auth WidgetsAddons IconThemes ConfigWidgets Service GlobalAccel KIO Package Declarative NewStuff) find_package(KF5 OPTIONAL_COMPONENTS Plasma) set_package_properties(KF5Plasma PROPERTIES URL "https://cgit.kde.org/plasma-framework.git/" DESCRIPTION "The library of the plasma project" TYPE OPTIONAL PURPOSE "Used by signalplotter to use Plasma themes" ) find_package(ZLIB REQUIRED) set_package_properties(ZLIB PROPERTIES DESCRIPTION "Support for gzip compressed files and data streams" URL "http://www.zlib.net" TYPE REQUIRED ) check_library_exists(c clock_gettime "time.h" HAVE_CLOCK_GETTIME_C) ecm_setup_version(${PROJECT_VERSION} VARIABLE_PREFIX KSYSGUARD VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/ksysguard_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KSysGuardConfigVersion.cmake" SOVERSION 9 ) find_package(X11) set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries" URL "https://www.x.org" TYPE OPTIONAL PURPOSE "Required for building the X11 based workspace" ) if(X11_FOUND) find_package(Qt5X11Extras REQUIRED) find_library(X11_XRes_LIB XRes ${X11_LIB_SEARCH_PATH}) find_path(X11_XRes_INCLUDE_PATH X11/extensions/XRes.h ${X11_INC_SEARCH_PATH}) if(X11_XRes_LIB AND X11_XRes_INCLUDE_PATH) set(X11_XRes_FOUND TRUE) endif() endif() set(WEBENGINE_SCRIPTING_ENABLED FALSE) if(Qt5WebEngineWidgets_FOUND AND Qt5WebChannel_FOUND) set(WEBENGINE_SCRIPTING_ENABLED TRUE) endif() add_feature_info("Scripting plugin support" WEBENGINE_SCRIPTING_ENABLED "Support scripting plugins using WebEngine and WebChannel") set(HAVE_X11 ${X11_FOUND}) set(HAVE_XRES ${X11_XRes_FOUND}) configure_file(config-ksysguard.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-ksysguard.h ) add_definitions(-DQT_NO_URL_CAST_FROM_STRING) add_definitions(-DQT_USE_QSTRINGBUILDER) add_definitions(-DQT_NO_CAST_FROM_ASCII) add_definitions(-DQT_NO_CAST_TO_ASCII) add_definitions(-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT) if (EXISTS "${CMAKE_SOURCE_DIR}/.git") add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054200) endif() set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED TRUE) add_subdirectory( formatter ) add_subdirectory( lsofui ) add_subdirectory( processcore ) add_subdirectory( processui ) add_subdirectory( sensors ) add_subdirectory( faces ) if (KF5Plasma_FOUND) add_subdirectory( signalplotter ) endif() add_subdirectory( ksgrd ) if(BUILD_TESTING) add_subdirectory( autotests ) endif() # add clang-format target for all our real source files file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) install(DIRECTORY scripts/ DESTINATION ${KDE_INSTALL_DATADIR}/ksysguard/scripts) set(CMAKECONFIG_INSTALL_DIR ${KDE_INSTALL_LIBDIR}/cmake/KSysGuard) configure_package_config_file(KSysGuardConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/KSysGuardConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}) configure_package_config_file(KF5SysGuardConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/KF5SysGuardConfig.cmake" INSTALL_DESTINATION ${KDE_INSTALL_LIBDIR}/cmake/KF5SysGuard ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/KSysGuardConfig.cmake ${CMAKE_CURRENT_BINARY_DIR}/KSysGuardConfigVersion.cmake DESTINATION ${CMAKECONFIG_INSTALL_DIR}) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/KF5SysGuardConfig.cmake DESTINATION ${KDE_INSTALL_LIBDIR}/cmake/KF5SysGuard ) install(EXPORT libksysguardLibraryTargets NAMESPACE KSysGuard:: DESTINATION ${CMAKECONFIG_INSTALL_DIR} FILE KSysGuardLibraryTargets.cmake ) install(FILES libksysguard.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/faces/CMakeLists.txt b/faces/CMakeLists.txt index 1353d2d..9f8cc5e 100644 --- a/faces/CMakeLists.txt +++ b/faces/CMakeLists.txt @@ -1,67 +1,69 @@ set(KSYSGUARD_SENSORS_SOVERSION 1) add_subdirectory(import) add_subdirectory(facepackages) add_subdirectory(packagestructure) add_definitions(-DTRANSLATION_DOMAIN=\"ksysguard_faces\") set(faces_LIB_SRCS SensorFaceController.cpp SensorFace.cpp ) set(faces_LIB_HEADERS SensorFace_p.h SensorFaceController.h ) ecm_qt_declare_logging_category(faces_LIB_SRCS HEADER faces_logging.h IDENTIFIER LIBKSYSGUARD_SENSORS CATEGORY_NAME org.kde.libksysguard.faces ) set_source_files_properties(org.kde.KSysGuardDaemon.xml PROPERTIES INCLUDE SensorInfo_p.h) qt5_add_resources(RESOURCES resources.qrc) add_library(SensorFaces ${faces_LIB_SRCS} ${RESOURCES}) add_library(KSysGuard::SensorFaces ALIAS SensorFaces) target_include_directories(SensorFaces PUBLIC "$" "$" ) generate_export_header(SensorFaces) target_link_libraries(SensorFaces PUBLIC Qt5::Qml Qt5::Quick KF5::ConfigCore KF5::ConfigGui KSysGuard::Formatter KSysGuard::Sensors PRIVATE Qt5::Core Qt5::DBus KF5::I18n KF5::Package KF5::Declarative ) set_target_properties(SensorFaces PROPERTIES LIBRARY_OUTPUT_NAME KSysGuardSensorFaces VERSION ${KSYSGUARD_VERSION_STRING} SOVERSION ${KSYSGUARD_SENSORS_SOVERSION} ) install(TARGETS SensorFaces EXPORT libksysguardLibraryTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) install(FILES ${faces_LIB_HEADERS} ${CMAKE_CURRENT_BINARY_DIR}/sensorfaces_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/ksysguard/faces COMPONENT Devel ) + +install(FILES systemmonitor-faces.knsrc systemmonitor-presets.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR}) diff --git a/faces/systemmonitor-faces.knsrc b/faces/systemmonitor-faces.knsrc new file mode 100644 index 0000000..532ca67 --- /dev/null +++ b/faces/systemmonitor-faces.knsrc @@ -0,0 +1,15 @@ +[KNewStuff3] +Name=System monitor Sensor Display Styles +Name[ca]=Estils de visualització del sensor del monitor del sistema +Name[et]=Süsteemi jälgija sensori näitamise stiilid +Name[nl]=Stijl van tonen van systeemmonitorsensor +Name[uk]=Стилі показу датчика нагляду за системою +Name[x-test]=xxSystem monitor Sensor Display Stylesxx + +Categories=Plasma Charts Face +UploadCategories=Plasma Charts Face + +ProvidersUrl=https://autoconfig.kde.org/ocs/providers.xml +StandardResource=tmp +InstallationCommand=kpackagetool5 -t KSysguard/SensorFace -i %f +UninstallCommand=kpackagetool5 -t KSysguard/SensorFace -r %f diff --git a/faces/systemmonitor-presets.knsrc b/faces/systemmonitor-presets.knsrc new file mode 100644 index 0000000..bb7daae --- /dev/null +++ b/faces/systemmonitor-presets.knsrc @@ -0,0 +1,15 @@ +[KNewStuff3] +Name=System monitor Sensor Presets +Name[ca]=Valors predefinits del sensor del monitor del sistema +Name[et]=Süsteemi jälgija sensori valmisvalikud +Name[nl]=Voorinstellingen van systeemmonitorsensor +Name[uk]=Набори налаштувань датчика нагляду за системою +Name[x-test]=xxSystem monitor Sensor Presetsxx + +Categories=Plasma Charts Preset +UploadCategories=Plasma Charts Preset + +ProvidersUrl=https://autoconfig.kde.org/ocs/providers.xml +StandardResource=tmp +InstallationCommand=kpackagetool5 -t Plasma/Applet -i %f +UninstallCommand=kpackagetool5 -t Plasma/Applet -r %f