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

0001 project(kinfocenter)
0002 set(PROJECT_VERSION "5.27.10")
0003 
0004 cmake_minimum_required(VERSION 3.16)
0005 set(QT_MIN_VERSION "5.15.2")
0006 
0007 set(KF5_MIN_VERSION "5.97")
0008 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
0009 find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
0010 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}  ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
0011 
0012 set(CMAKE_CXX_STANDARD 17)
0013 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0014 
0015 include(KDEInstallDirs)
0016 include(KDECMakeSettings)
0017 include(KDECompilerSettings NO_POLICY_SCOPE)
0018 include(FeatureSummary)
0019 include(KDEClangFormat)
0020 include(ECMFindQmlModule)
0021 include(KDEGitCommitHooks)
0022 include(ECMSetupQtPluginMacroNames)
0023 include(ECMQueryQt)
0024 
0025 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui Widgets)
0026 
0027 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
0028     Config
0029     ConfigWidgets
0030     CoreAddons
0031     DocTools
0032     I18n
0033     KCMUtils
0034     KIO
0035     Service
0036     Solid
0037     WidgetsAddons
0038     Declarative
0039     Package
0040     Solid
0041     Auth
0042 )
0043 
0044 ecm_find_qmlmodule(org.kde.kirigami 2.5)
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( Categories )
0063 add_subdirectory( kcontrol/menus )
0064 add_subdirectory( Modules )
0065 add_subdirectory(src)
0066 
0067 include(ECMOptionalAddSubdirectory)
0068 ecm_optional_add_subdirectory( doc )
0069 kdoctools_install(po)
0070 
0071 # add clang-format target for all our real source files
0072 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0073 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0074 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0075 
0076 ##install
0077 
0078 install( FILES org.kde.kinfocenter.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0079 install( PROGRAMS org.kde.kinfocenter.desktop  DESTINATION  ${KDE_INSTALL_APPDIR} )
0080 
0081 ADD_CUSTOM_TARGET(kinfocenter_link ALL
0082                   COMMAND ${CMAKE_COMMAND} -E create_symlink ${KDE_INSTALL_FULL_BINDIR}/systemsettings5 ${CMAKE_CURRENT_BINARY_DIR}/kinfocenter)
0083 
0084 install( FILES ${CMAKE_CURRENT_BINARY_DIR}/kinfocenter DESTINATION ${KDE_INSTALL_FULL_BINDIR}/ )
0085 
0086 ki18n_install(po)
0087 
0088 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)