Warning, /plasma/drkonqi/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 project(drkonqi) 0004 set(PROJECT_VERSION "6.0.0") 0005 set(PROJECT_VERSION_MAJOR 6) 0006 0007 set(QT_MIN_VERSION "6.6.0") 0008 set(KF6_MIN_VERSION "5.240.0") 0009 0010 set(CMAKE_CXX_STANDARD 20) 0011 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0012 0013 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE) 0014 0015 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${ECM_MODULE_PATH}) 0016 0017 include(KDEInstallDirs) 0018 include(KDECMakeSettings) 0019 include(KDECompilerSettings NO_POLICY_SCOPE) 0020 include(ECMQtDeclareLoggingCategory) 0021 include(ECMAddTests) 0022 include(ECMMarkAsTest) 0023 include(CheckFunctionExists) 0024 include(FeatureSummary) 0025 include(KDEClangFormat) 0026 include(KDEGitCommitHooks) 0027 include(ECMDeprecationSettings) 0028 include(ECMFindQmlModule) 0029 include(ECMSourceVersionControl) 0030 include(CMakeDependentOption) 0031 include(FindPythonModule) 0032 0033 option(WITH_GDB12 "The gdb version available is at least GDB 12 (this enables dynamic debug symbol resolution even when no DEBUG_PACKAGE_INSTALLER_NAME is available)" FALSE) 0034 option(WITH_PYTHON_VENDORING "Python dependency vendoring (cmake will install python dependencies into drkonqi's python tree)" ON) 0035 0036 kde_enable_exceptions() 0037 0038 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Widgets Test DBus Concurrent Quick) 0039 0040 find_package( 0041 KF6 0042 ${KF6_MIN_VERSION} 0043 REQUIRED 0044 COMPONENTS 0045 I18n 0046 CoreAddons 0047 Config 0048 Service 0049 JobWidgets 0050 KIO 0051 Crash 0052 WidgetsAddons 0053 Wallet 0054 Notifications 0055 IdleTime 0056 WindowSystem 0057 SyntaxHighlighting 0058 StatusNotifierItem 0059 ) 0060 0061 ecm_find_qmlmodule(org.kde.kirigami 2.19) 0062 ecm_find_qmlmodule(org.kde.kitemmodels 1.0) 0063 ecm_find_qmlmodule(org.kde.kcmutils 1.0) 0064 ecm_find_qmlmodule(org.kde.syntaxhighlighting 1.0) 0065 0066 find_package(Python3 3.8 COMPONENTS Interpreter) 0067 0068 find_pythonmodule(psutil) 0069 find_pythonmodule(pygdbmi) 0070 find_pythonmodule(sentry_sdk) 0071 0072 ecm_set_disabled_deprecation_versions(QT 5.15.2 0073 KF 5.240 0074 ) 0075 0076 if(CMAKE_SYSTEM_NAME MATCHES Linux) 0077 find_package(Systemd 249) 0078 set_package_properties(Systemd PROPERTIES TYPE REQUIRED PURPOSE "Coredumpd integration.") 0079 endif() 0080 0081 if(Systemd_FOUND) 0082 find_package(PolkitQt6-1) # This is only used when extracting crashes from coredumpd 0083 set_package_properties(PolkitQt6-1 PROPERTIES TYPE REQUIRED PURPOSE "Reading kwin_wayland crashes") 0084 0085 find_package(coredumpctl) 0086 set_package_properties( 0087 coredumpctl 0088 PROPERTIES 0089 TYPE RUNTIME 0090 DESCRIPTION "coredumpd CLI. part of systemd" 0091 PURPOSE "Required for coredumpd support to work at runtime!" 0092 ) 0093 endif() 0094 0095 if(MINGW) 0096 find_package(ZLIB REQUIRED) 0097 find_library(INTL_LIBRARY NAMES intl) 0098 find_library(IBERTY_LIBRARY NAMES iberty) 0099 find_library(BFD_LIBRARY NAMES bfd) 0100 if(IBERTY_LIBRARY) 0101 set(iberty_FOUND 1) 0102 else() 0103 set(msg "iberty") 0104 endif() 0105 if(BFD_LIBRARY) 0106 set(bfd_FOUND 1) 0107 else() 0108 set(msg "${msg} bfd") 0109 endif() 0110 if(INTL_LIBRARY) 0111 set(intl_FOUND 1) 0112 else() 0113 set(msg "${msg} intl") 0114 endif() 0115 if(msg) 0116 message(FATAL_ERROR "could not find ${msg}") 0117 endif() 0118 0119 add_library(intl SHARED IMPORTED) 0120 set_target_properties(intl PROPERTIES IMPORTED_IMPLIB ${INTL_LIBRARY}) 0121 add_library(iberty STATIC IMPORTED) 0122 set_target_properties(iberty PROPERTIES IMPORTED_LOCATION ${IBERTY_LIBRARY}) 0123 add_library(bfd STATIC IMPORTED) 0124 set_target_properties( 0125 bfd 0126 PROPERTIES 0127 IMPORTED_LOCATION ${BFD_LIBRARY} 0128 # bfd header requires this to be defined 0129 INTERFACE_COMPILE_DEFINITIONS "PACKAGE;PACKAGE_VERSION" 0130 ) 0131 find_path(BFD_INCLUDE_DIR bfd.h) 0132 include_directories(${BFD_INCLUDE_DIR}) 0133 endif() 0134 0135 include_directories("${CMAKE_CURRENT_BINARY_DIR}") 0136 0137 add_subdirectory(src) 0138 0139 # add clang-format target for all our real source files 0140 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0141 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0142 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0143 0144 ecm_qt_install_logging_categories( 0145 EXPORT DRKONQI 0146 FILE drkonqi.categories 0147 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0148 ) 0149 0150 ki18n_install(po) 0151 0152 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)