Warning, /plasma/ksystemstats/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-License-Identifier: BSD-2-Clause
0002 # SPDX-FileCopyrightText: 2021 Arjen Hiemstra <ahiemstra@heimr.nl>
0003 
0004 cmake_minimum_required(VERSION 3.16)
0005 
0006 project(ksystemstats)
0007 set(PROJECT_VERSION "5.27.10")
0008 
0009 set(QT_MIN_VERSION "5.15.2")
0010 set(KF5_MIN_VERSION "5.102.0")
0011 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
0012 
0013 find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
0014 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}  ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
0015 
0016 include(CheckIncludeFiles)
0017 include(KDEInstallDirs)
0018 include(KDECMakeSettings)
0019 include(KDECompilerSettings NO_POLICY_SCOPE)
0020 include(KDEClangFormat)
0021 include(ECMAddTests)
0022 include(ECMInstallIcons)
0023 include(FeatureSummary)
0024 include(ECMConfiguredInstall)
0025 include(ECMGenerateDBusServiceFile)
0026 include(ECMDeprecationSettings)
0027 
0028 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Test)
0029 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS CoreAddons DBusAddons Solid KIO)
0030 find_package(KSysGuard REQUIRED)
0031 
0032 find_package(KF5NetworkManagerQt ${KF5_MIN_VERSION})
0033 set_package_properties(KF5NetworkManagerQt PROPERTIES
0034     TYPE RECOMMENDED
0035     PURPOSE "Provides an improved backend for Network statistics"
0036 )
0037 
0038 add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
0039 add_definitions(-DQT_USE_QSTRINGBUILDER)
0040 
0041 ecm_set_disabled_deprecation_versions(QT 5.15.2
0042     KF 5.101
0043 )
0044 
0045 
0046 set(CMAKE_CXX_STANDARD 17)
0047 set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
0048 
0049 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
0050     find_package(Sensors)
0051     set_package_properties(Sensors PROPERTIES
0052             TYPE REQUIRED
0053             PURPOSE "Used for reading hardware sensors that aren't covered by other plugins."
0054             URL "https://github.com/lm-sensors/lm-sensors"
0055         )
0056 
0057     find_package(NL)
0058     set_package_properties(NL PROPERTIES
0059         TYPE REQUIRED
0060         PURPOSE "Used for gathering socket info via the sock_diag netlink subsystem and for the network plugin when NetworkManagerQt is not available."
0061         URL "https://github.com/thom311/libnl/"
0062     )
0063 endif()
0064 
0065 find_package(UDev)
0066 set_package_properties(
0067     UDev PROPERTIES
0068     TYPE RECOMMENDED
0069     PURPOSE "UDev is used for finding graphics cards."
0070 )
0071 
0072 include_directories(${CMAKE_CURRENT_BINARY_DIR})
0073 
0074 add_subdirectory(src)
0075 add_subdirectory(plugins)
0076 add_subdirectory(tools/kstatsviewer)
0077 
0078 if (BUILD_TESTING)
0079     add_subdirectory(autotests)
0080 endif()
0081 
0082 # add clang-format target for all our real source files
0083 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0084 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0085 
0086 ki18n_install(po)
0087 
0088 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)