Warning, /plasma/polkit-kde-agent-1/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.16)
0002 
0003 project(polkit-kde-agent-1)
0004 set(PROJECT_VERSION "6.0.80")
0005 
0006 set(QT_MIN_VERSION "6.6.0")
0007 set(KF6_MIN_VERSION "5.240.0")
0008 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
0009 
0010 set(CMAKE_CXX_STANDARD 20)
0011 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0012 
0013 # we need some parts of the ECM CMake helpers
0014 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
0015 set (CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
0016 
0017 include(KDEInstallDirs)
0018 include(KDECMakeSettings)
0019 include(KDECompilerSettings NO_POLICY_SCOPE)
0020 include(KDEClangFormat)
0021 include(FeatureSummary)
0022 include(ECMConfiguredInstall)
0023 include(ECMDeprecationSettings)
0024 
0025 include(KDEGitCommitHooks)
0026 
0027 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED Core DBus Widgets Quick Qml)
0028 
0029 # Load the frameworks we need
0030 find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
0031   I18n
0032   WindowSystem
0033   DBusAddons
0034   CoreAddons
0035   Crash
0036 )
0037 
0038 include(CheckIncludeFile)
0039 include(CheckSymbolExists)
0040 check_include_file("sys/prctl.h" HAVE_SYS_PRCTL_H)
0041 check_symbol_exists(PR_SET_DUMPABLE "sys/prctl.h" HAVE_PR_SET_DUMPABLE)
0042 check_include_file("sys/procctl.h" HAVE_SYS_PROCCTL_H)
0043 check_symbol_exists(PROC_TRACE_CTL "sys/procctl.h" HAVE_PROC_TRACE_CTL)
0044 if (HAVE_PR_SET_DUMPABLE OR HAVE_PROC_TRACE_CTL)
0045   set(CAN_DISABLE_PTRACE TRUE)
0046 endif ()
0047 add_feature_info("prctl/procctl tracing control"
0048                  CAN_DISABLE_PTRACE
0049                  "Required for disallowing ptrace on polkit agent")
0050 
0051 # create config file
0052 configure_file (config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
0053 
0054 find_package(PolkitQt6-1 REQUIRED 0.103.0)
0055 ecm_set_disabled_deprecation_versions(QT 5.15.2
0056     KF 5.100
0057 )
0058 
0059 add_definitions(-DQT_NO_KEYWORDS)
0060 
0061 qt_add_dbus_adaptor(policykit_SRCS org.kde.Polkit1AuthAgent.xml policykitlistener.h PolicyKitListener)
0062 
0063 set(policykit_SRCS
0064     ${policykit_SRCS}
0065     policykitlistener.cpp
0066     main.cpp
0067     QuickAuthDialog.cpp
0068     QuickAuthDialog.qrc
0069     IdentitiesModel.cpp
0070 )
0071 
0072 add_executable(polkit-kde-authentication-agent-1 ${policykit_SRCS})
0073 
0074 target_link_libraries(polkit-kde-authentication-agent-1
0075     KF6::DBusAddons
0076     KF6::WindowSystem
0077     KF6::CoreAddons
0078     KF6::I18n
0079     KF6::Crash
0080     Qt::Qml
0081     Qt::Quick
0082     Qt::Widgets
0083     PolkitQt6-1::Agent
0084 )
0085 
0086 configure_file(polkit-kde-authentication-agent-1.desktop.cmake ${CMAKE_BINARY_DIR}/polkit-kde-authentication-agent-1.desktop)
0087 
0088 install(TARGETS polkit-kde-authentication-agent-1 DESTINATION ${KDE_INSTALL_LIBEXECDIR})
0089 
0090 install(FILES ${CMAKE_BINARY_DIR}/polkit-kde-authentication-agent-1.desktop DESTINATION ${KDE_INSTALL_AUTOSTARTDIR})
0091 install(FILES ${CMAKE_BINARY_DIR}/polkit-kde-authentication-agent-1.desktop DESTINATION ${KDE_INSTALL_APPDIR} RENAME org.kde.polkit-kde-authentication-agent-1.desktop)
0092 
0093 ecm_install_configured_files(INPUT plasma-polkit-agent.service.in DESTINATION ${KDE_INSTALL_SYSTEMDUSERUNITDIR})
0094 
0095 install(FILES policykit1-kde.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR})
0096 
0097 # add clang-format target for all our real source files
0098 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0099 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0100 
0101 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0102 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0103 
0104 ki18n_install(po)