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 "5.27.10")
0005 set(PROJECT_VERSION_MAJOR 5)
0006 
0007 set(QT_MIN_VERSION "5.15.2")
0008 set(KF5_MIN_VERSION "5.102.0")
0009 
0010 set(CMAKE_CXX_STANDARD 17)
0011 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0012 
0013 find_package(ECM ${KF5_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 
0032 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)
0033 option(WITH_SENTRY "Submit crashes to KDE's Sentry instance" ${ECM_SOURCE_UNDER_VERSION_CONTROL})
0034 
0035 kde_enable_exceptions()
0036 
0037 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Widgets Test DBus Concurrent Quick)
0038 
0039 find_package(
0040     KF5
0041     ${KF5_MIN_VERSION}
0042     REQUIRED
0043     COMPONENTS
0044         I18n
0045         CoreAddons
0046         Config
0047         Service
0048         JobWidgets
0049         KIO
0050         Crash
0051         Completion
0052         WidgetsAddons
0053         Wallet
0054         Notifications
0055         IdleTime
0056         WindowSystem
0057         SyntaxHighlighting
0058 )
0059 
0060 find_package(KUserFeedback)
0061 set_package_properties(KUserFeedback PROPERTIES TYPE REQUIRED PURPOSE "Checking whether feedback is enabled or not")
0062 
0063 ecm_find_qmlmodule(org.kde.kirigami 2.19)
0064 ecm_find_qmlmodule(org.kde.kitemmodels 1.0)
0065 ecm_find_qmlmodule(org.kde.kcm 1.6)
0066 ecm_find_qmlmodule(org.kde.syntaxhighlighting 1.0)
0067 
0068 ecm_set_disabled_deprecation_versions(QT 5.15.2
0069     KF 5.92
0070 )
0071 
0072 find_package(Systemd)
0073 set_package_properties(Systemd PROPERTIES TYPE RECOMMENDED PURPOSE "Coredumpd integration.")
0074 
0075 if(Systemd_FOUND)
0076     find_package(coredumpctl)
0077     set_package_properties(
0078         coredumpctl
0079         PROPERTIES
0080         TYPE RUNTIME
0081         DESCRIPTION "coredumpd CLI. part of systemd"
0082         PURPOSE "Required for coredumpd support to work at runtime!"
0083     )
0084 endif()
0085 
0086 if(MINGW)
0087     find_package(ZLIB REQUIRED)
0088     find_library(INTL_LIBRARY NAMES intl)
0089     find_library(IBERTY_LIBRARY NAMES iberty)
0090     find_library(BFD_LIBRARY NAMES bfd)
0091     if(IBERTY_LIBRARY)
0092         set(iberty_FOUND 1)
0093     else()
0094         set(msg "iberty")
0095     endif()
0096     if(BFD_LIBRARY)
0097         set(bfd_FOUND 1)
0098     else()
0099         set(msg "${msg} bfd")
0100     endif()
0101     if(INTL_LIBRARY)
0102         set(intl_FOUND 1)
0103     else()
0104         set(msg "${msg} intl")
0105     endif()
0106     if(msg)
0107         message(FATAL_ERROR "could not find ${msg}")
0108     endif()
0109 
0110     add_library(intl SHARED IMPORTED)
0111     set_target_properties(intl PROPERTIES IMPORTED_IMPLIB ${INTL_LIBRARY})
0112     add_library(iberty STATIC IMPORTED)
0113     set_target_properties(iberty PROPERTIES IMPORTED_LOCATION ${IBERTY_LIBRARY})
0114     add_library(bfd STATIC IMPORTED)
0115     set_target_properties(
0116         bfd
0117         PROPERTIES
0118             IMPORTED_LOCATION ${BFD_LIBRARY}
0119             # bfd header requires this to be defined
0120             INTERFACE_COMPILE_DEFINITIONS "PACKAGE;PACKAGE_VERSION"
0121     )
0122     find_path(BFD_INCLUDE_DIR bfd.h)
0123     include_directories(${BFD_INCLUDE_DIR})
0124 endif()
0125 
0126 include_directories("${CMAKE_CURRENT_BINARY_DIR}")
0127 
0128 add_subdirectory(src)
0129 
0130 # add clang-format target for all our real source files
0131 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0132 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0133 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0134 
0135 ecm_qt_install_logging_categories(
0136     EXPORT DRKONQI
0137     FILE drkonqi.categories
0138     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0139 )
0140 
0141 ki18n_install(po)
0142 
0143 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)