You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kf5-kglobalaccel/100.patch

114 lines
4.2 KiB

From b0595dd3ca6b812223af8695a87480f54d094523 Mon Sep 17 00:00:00 2001
From: Nicolas Fella <nicolas.fella@gmx.de>
Date: Mon, 9 Oct 2023 20:22:03 +0200
Subject: [PATCH] Add build option for KF6 coinstallability
When shipping both KF5 and KF6 one wants to disable installing some runtime components
We have the BUILD_RUNTIME option, but that disables too much, i.e. the KGlobalAccelPrivate library that is needed to build KWin
Add another option for the coinstallability build
---
CMakeLists.txt | 2 ++
src/runtime/CMakeLists.txt | 60 ++++++++++++++++++++------------------
2 files changed, 34 insertions(+), 28 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 69171686..37772501 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,6 +32,8 @@ set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprec
option(BUILD_RUNTIME "Build the kglobalacceld runtime" ON)
add_feature_info(BUILD_RUNTIME ${BUILD_RUNTIME} "The kglobalacceld runtime")
+option(KF6_COMPAT_BUILD "Don't build runtime components that conflict with KF6" OFF)
+
option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
diff --git a/src/runtime/CMakeLists.txt b/src/runtime/CMakeLists.txt
index 5562d0c9..8a2447ca 100644
--- a/src/runtime/CMakeLists.txt
+++ b/src/runtime/CMakeLists.txt
@@ -52,26 +52,45 @@ if(XCB_XCB_FOUND)
endif()
endif()
-add_executable(kglobalaccel5 main.cpp logging.cpp)
-ecm_mark_nongui_executable(kglobalaccel5)
+if (NOT KF6_COMPAT_BUILD)
+ add_executable(kglobalaccel5 main.cpp logging.cpp)
+ ecm_mark_nongui_executable(kglobalaccel5)
-target_include_directories(kglobalaccel5 PRIVATE ${CMAKE_BINARY_DIR})
+ target_include_directories(kglobalaccel5 PRIVATE ${CMAKE_BINARY_DIR})
-target_link_libraries(kglobalaccel5
- KF5GlobalAccelPrivate
- KF5::DBusAddons # KDBusService
- KF5::Crash
+ target_link_libraries(kglobalaccel5
+ KF5GlobalAccelPrivate
+ KF5::DBusAddons # KDBusService
+ KF5::Crash
+ )
+
+ add_subdirectory(plugins)
+
+ if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.102.0)
+ install( FILES kglobalaccel.desktop DESTINATION ${KDE_INSTALL_KSERVICESDIR} RENAME kglobalaccel5.desktop)
+ endif()
+
+ install( TARGETS kglobalaccel5 ${KF_INSTALL_TARGETS_DEFAULT_ARGS} )
+
+
+ # D-Bus activation service file, and associated systemd service
+ include (ECMGenerateDBusServiceFile)
+ include (ECMConfiguredInstall)
+ ecm_generate_dbus_service_file(
+ NAME org.kde.kglobalaccel
+ EXECUTABLE "${KDE_INSTALL_FULL_BINDIR}/kglobalaccel5"
+ SYSTEMD_SERVICE plasma-kglobalaccel.service
+ DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}
)
-add_subdirectory(plugins)
+ ecm_install_configured_files(
+ INPUT plasma-kglobalaccel.service.in
+ DESTINATION ${KDE_INSTALL_SYSTEMDUSERUNITDIR}
+ )
+endif()
# Install application and configuration
install(TARGETS KF5GlobalAccelPrivate EXPORT KF5GlobalAccelTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP)
-install( TARGETS kglobalaccel5 ${KF_INSTALL_TARGETS_DEFAULT_ARGS} )
-
-if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.102.0)
- install( FILES kglobalaccel.desktop DESTINATION ${KDE_INSTALL_KSERVICESDIR} RENAME kglobalaccel5.desktop)
-endif()
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/kf5globalaccelprivate_export.h
@@ -79,18 +98,3 @@ install(FILES
kglobalaccel_interface.h
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KGlobalAccel/private COMPONENT Devel
)
-
-# D-Bus activation service file, and associated systemd service
-include (ECMGenerateDBusServiceFile)
-include (ECMConfiguredInstall)
-ecm_generate_dbus_service_file(
- NAME org.kde.kglobalaccel
- EXECUTABLE "${KDE_INSTALL_FULL_BINDIR}/kglobalaccel5"
- SYSTEMD_SERVICE plasma-kglobalaccel.service
- DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}
-)
-
-ecm_install_configured_files(
- INPUT plasma-kglobalaccel.service.in
- DESTINATION ${KDE_INSTALL_SYSTEMDUSERUNITDIR}
-)
--
GitLab