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