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