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)