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)