Warning, /office/alkimia/cmake/modules/FindKF4.cmake is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2024 Ralf Habacker ralf.habacker @freenet.de
0002 #
0003 # SPDX-License-Identifier: BSD-3-Clause
0004
0005 # KDE Framework compatibility layer for KDE4
0006 # - provides missing ECM and KDE related macros/functions
0007
0008 set(_kde4_uninstall_rule_created 1)
0009
0010 if(KF4_FIND_REQUIRED)
0011 set(REQUIRED REQUIRED)
0012 endif()
0013
0014 find_package(KDE4 QUIET ${REQUIRED})
0015 include(KDE4Defaults)
0016 include_directories(${KDE4_INCLUDES})
0017
0018 if(KDE4_FOUND)
0019 if (BUILD_TESTING)
0020 set(KDE4_BUILD_TESTS 1)
0021 endif()
0022 set(KF4_FOUND 1)
0023 set(KF4_VERSION ${KDE4_VERSION})
0024
0025 set(KDE_INSTALL_FULL_AUTH_POLICY_FILES_DIR ${KDE4_AUTH_POLICY_FILES_INSTALL_DIR})
0026 set(KDE_INSTALL_FULL_AUTOSTART_DIR ${KDE4_AUTOSTART_INSTALL_DIR})
0027 set(KDE_INSTALL_FULL_BIN_DIR ${KDE4_BIN_INSTALL_DIR})
0028 set(KDE_INSTALL_FULL_CONFIG_DIR ${KDE4_CONFIG_INSTALL_DIR})
0029 set(KDE_INSTALL_FULL_DATA_DIR ${KDE4_DATA_INSTALL_DIR})
0030 set(KDE_INSTALL_FULL_DBUS_INTERFACES_DIR ${KDE4_DBUS_INTERFACES_DIR})
0031 set(KDE_INSTALL_FULL_DBUS_SERVICES_DIR ${KDE4_DBUS_SERVICES_DIR})
0032 set(KDE_INSTALL_FULL_DIR ${KDE4_INSTALL_DIR})
0033 set(KDE_INSTALL_FULL_HTML_DIR ${KDE4_HTML_INSTALL_DIR})
0034 set(KDE_INSTALL_FULL_ICON_DIR ${KDE4_ICON_INSTALL_DIR})
0035 set(KDE_INSTALL_FULL_IMPORTS_DIR ${KDE4_IMPORTS_INSTALL_DIR})
0036 set(KDE_INSTALL_FULL_INCLUDE_DIR ${KDE4_INCLUDE_INSTALL_DIR})
0037 set(KDE_INSTALL_FULL_INFO_DIR ${KDE4_INFO_INSTALL_DIR})
0038 set(KDE_INSTALL_FULL_KCFG_DIR ${KDE4_KCFG_INSTALL_DIR})
0039 set(KDE_INSTALL_FULL_KCONF_UPDATE_DIR ${KDE4_KCONF_UPDATE_INSTALL_DIR})
0040 set(KDE_INSTALL_FULL_LIBEXEC_DIR ${KDE4_LIBEXEC_INSTALL_DIR})
0041 set(KDE_INSTALL_FULL_LIB_DIR ${KDE4_LIB_INSTALL_DIR})
0042 set(KDE_INSTALL_FULL_LOCALE_DIR ${KDE4_LOCALE_INSTALL_DIR})
0043 set(KDE_INSTALL_FULL_MAN_DIR ${KDE4_MAN_INSTALL_DIR})
0044 set(KDE_INSTALL_FULL_METAINFODIR ${KDE4_DATA_INSTALL_DIR}/metainfo)
0045 set(KDE_INSTALL_FULL_MIME_DIR ${KDE4_MIME_INSTALL_DIR})
0046 set(KDE_INSTALL_FULL_SBIN_DIR ${KDE4_SBIN_INSTALL_DIR})
0047 set(KDE_INSTALL_FULL_SERVICES_DIR ${KDE4_SERVICES_INSTALL_DIR})
0048 set(KDE_INSTALL_FULL_SERVICETYPES_DIR ${KDE4_SERVICETYPES_INSTALL_DIR})
0049 set(KDE_INSTALL_FULL_SOUND_DIR ${KDE4_SOUND_INSTALL_DIR})
0050 set(KDE_INSTALL_FULL_SYSCONF_DIR ${KDE4_SYSCONF_INSTALL_DIR})
0051 set(KDE_INSTALL_FULL_TEMPLATES_DIR ${KDE4_TEMPLATES_INSTALL_DIR})
0052 set(KDE_INSTALL_FULL_WALLPAPER_DIR ${KDE4_WALLPAPER_INSTALL_DIR})
0053 set(KDE_INSTALL_FULL_XDG_APPS_DIR ${KDE4_XDG_APPS_INSTALL_DIR})
0054 set(KDE_INSTALL_FULL_XDG_DIRECTORY_DIR ${KDE4_XDG_DIRECTORY_INSTALL_DIR})
0055
0056 file(RELATIVE_PATH KDE_INSTALL_APPDIR ${KDE4_INSTALL_DIR} ${KDE4_XDG_APPS_INSTALL_DIR})
0057 file(RELATIVE_PATH KDE_INSTALL_BIN_DIR ${KDE4_INSTALL_DIR} ${KDE4_INCLUDE_INSTALL_DIR})
0058 file(RELATIVE_PATH KDE_INSTALL_DATA_DIR ${KDE4_INSTALL_DIR} ${KDE4_DATA_INSTALL_DIR})
0059 file(RELATIVE_PATH KDE_INSTALL_ICONDIR ${KDE4_INSTALL_DIR} ${KDE4_ICON_INSTALL_DIR})
0060 file(RELATIVE_PATH KDE_INSTALL_INCLUDE_DIR ${KDE4_INSTALL_DIR} ${KDE4_LIB_DIR})
0061 file(RELATIVE_PATH KDE_INSTALL_LIB_DIR ${KDE4_INSTALL_DIR} ${KDE4_LIB_DIR})
0062 set(KDE_INSTALL_CMAKEPACKAGEDIR ${KDE_INSTALL_LIB_DIR}/cmake)
0063 set(KDE_INSTALL_METAINFODIR share/metainfo)
0064
0065 add_definitions(-DQStringLiteral=QLatin1String)
0066
0067 set(KF5_COMPONENTS
0068 kdnssd
0069 kemoticons
0070 kfile
0071 khtml
0072 kidletime
0073 kimproxy
0074 kio
0075 kjs
0076 kjsapi
0077 kjsembed
0078 kmediaplayer
0079 knewstuff2
0080 knewstuff3
0081 knotifyconfig
0082 kntlm
0083 kparts
0084 kprintutils
0085 kpty
0086 krosscore
0087 krossui
0088 ksuseinstall
0089 ktexteditor
0090 kunitconversion
0091 kutils
0092 nepomuk
0093 nepomukquery
0094 nepomukutils
0095 plasma
0096 solid
0097 threadweaver
0098 )
0099
0100 foreach(COMPONENT ${KF4_COMPONENTS})
0101 if(TARGET KDE4__${COMPONENT})
0102 add_library(KF4::${COMPONENT} ALIAS KDE4__${COMPONENT})
0103 endif()
0104 endforeach()
0105
0106 # KF >= 5 compatible wrapper
0107 add_library(KF4::Completion ALIAS KDE4__kdecore)
0108 add_library(KF4::ConfigCore ALIAS KDE4__kdecore)
0109 add_library(KF4::CoreAddons ALIAS KDE4__kdecore)
0110 add_library(KF4::Gui ALIAS KDE4__kdeui)
0111 add_library(KF4::I18n ALIAS KDE4__kdecore)
0112 add_library(KF4::KIO ALIAS KDE4__kio)
0113 add_library(KF4::KIOCore ALIAS KDE4__kio)
0114 add_library(KF4::KIOWidgets ALIAS KDE4__kio)
0115 add_library(KF4::NewStuff ALIAS KDE4__knewstuff3)
0116 add_library(KF4::NewStuffWidgets ALIAS KDE4__knewstuff3)
0117 add_library(KF4::Plasma ALIAS KDE4__plasma)
0118 add_library(KF4::Solid ALIAS KDE4__solid)
0119 add_library(KF4::WebKit ALIAS KDE4__kdewebkit)
0120 add_library(KF4::TextWidgets ALIAS KDE4__kdeui)
0121 add_library(KF4::IconThemes ALIAS KDE4__kdeui)
0122 add_library(KF4::Package ALIAS KDE4__kdecore)
0123 add_library(KF4::XmlGui ALIAS KDE4__kdeui)
0124
0125 set(KF4_INSTALL_CMAKECONFIG_FILES ${CMAKE_CURRENT_LIST_DIR}/FindKF4.cmake)
0126
0127 macro(ki18n_wrap_ui)
0128 kde4_add_ui_files(${ARGN})
0129 endmacro(ki18n_wrap_ui)
0130
0131 macro(kconfig_add_kcfg_files)
0132 kde4_add_kcfg_files(${ARGN})
0133 endmacro(kconfig_add_kcfg_files)
0134
0135 macro(ecm_add_executable)
0136 kde4_add_executable(${ARGN})
0137 endmacro(ecm_add_executable)
0138
0139 macro(ecm_mark_nongui_executable)
0140 foreach(_target ${ARGN})
0141 set_target_properties(${_target}
0142 PROPERTIES
0143 WIN32_EXECUTABLE FALSE
0144 MACOSX_BUNDLE FALSE
0145 )
0146 endforeach()
0147 endmacro(ecm_mark_nongui_executable)
0148
0149 macro(ecm_install_icons)
0150 kde4_install_icons(${ICON_INSTALL_DIR})
0151 endmacro()
0152 endif()
0153
0154 include(FindPackageHandleStandardArgs)
0155 find_package_handle_standard_args(KF4 DEFAULT_MSG)
0156