Warning, /plasma/kinfocenter/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 project(kinfocenter)
0002 set(PROJECT_VERSION "6.0.80")
0003
0004 cmake_minimum_required(VERSION 3.16)
0005 set(QT_MIN_VERSION "6.6.0")
0006
0007 set(KF6_MIN_VERSION "5.240")
0008 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
0009 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
0010
0011 set(CMAKE_CXX_STANDARD 20)
0012 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0013
0014 include(KDEInstallDirs)
0015 include(KDECMakeSettings)
0016 include(KDECompilerSettings NO_POLICY_SCOPE)
0017 include(FeatureSummary)
0018 include(KDEClangFormat)
0019 include(ECMFindQmlModule)
0020 include(KDEGitCommitHooks)
0021 include(ECMSetupQtPluginMacroNames)
0022 include(ECMQueryQt)
0023
0024 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Widgets)
0025
0026 find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
0027 Config
0028 CoreAddons
0029 DocTools
0030 I18n
0031 KCMUtils
0032 KIO
0033 Service
0034 Solid
0035 WidgetsAddons
0036 Solid
0037 Auth
0038 )
0039
0040 ecm_find_qmlmodule(org.kde.kirigami 2.5)
0041
0042 macro(kinfocenter_add_kcm target)
0043 kcmutils_add_qml_kcm(${target} DISABLE_DESKTOP_FILE_GENERATION SOURCES ${ARGN} INSTALL_NAMESPACE plasma/kcms/kinfocenter)
0044 endmacro()
0045
0046 find_package(SystemSettings QUIET)
0047 set_package_properties(SystemSettings PROPERTIES
0048 DESCRIPTION "Plasma's SystemSettings"
0049 TYPE RUNTIME
0050 PURPOSE "Absolutely required because the KInfoCenter binary is a symlink to it!"
0051 )
0052
0053 include_directories(${CMAKE_CURRENT_BINARY_DIR})
0054
0055 remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_KEYWORDS)
0056 add_definitions(-DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT)
0057 add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
0058 add_definitions(-DQT_USE_QSTRINGBUILDER)
0059
0060 ecm_query_qt(QtBinariesDir QT_INSTALL_BINS)
0061
0062 add_subdirectory( appiumtests )
0063 add_subdirectory( Categories )
0064 add_subdirectory( kcontrol/menus )
0065 add_subdirectory( Modules )
0066 add_subdirectory(src)
0067
0068 include(ECMOptionalAddSubdirectory)
0069 ecm_optional_add_subdirectory( doc )
0070 kdoctools_install(po)
0071
0072 # add clang-format target for all our real source files
0073 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0074 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0075 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0076
0077 ##install
0078
0079 install( FILES org.kde.kinfocenter.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0080 install( PROGRAMS org.kde.kinfocenter.desktop DESTINATION ${KDE_INSTALL_APPDIR} )
0081
0082 ADD_CUSTOM_TARGET(kinfocenter_link ALL
0083 COMMAND ${CMAKE_COMMAND} -E create_symlink ${KDE_INSTALL_FULL_BINDIR}/systemsettings ${CMAKE_CURRENT_BINARY_DIR}/kinfocenter)
0084
0085 install( FILES ${CMAKE_CURRENT_BINARY_DIR}/kinfocenter DESTINATION ${KDE_INSTALL_FULL_BINDIR}/ )
0086
0087 ki18n_install(po)
0088
0089 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)