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)