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