Advance KDE package integration

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-04-15 12:57:45 +01:00
parent 2a050b7c43
commit 6259dc06da
25 changed files with 138 additions and 115 deletions
@@ -24,7 +24,7 @@ include(ECMQtDeclareLoggingCategory)
include(ECMDeprecationSettings) include(ECMDeprecationSettings)
include(ECMMarkNonGuiExecutable) include(ECMMarkNonGuiExecutable)
include(KDEGitCommitHooks) include(KDEGitCommitHooks)
######include(ECMQmlModule) #######include(ECMQmlModule)
include(CMakeDependentOption) include(CMakeDependentOption)
@@ -39,6 +39,7 @@ set(REQUIRED_QT_VERSION 6.6.0)
find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Widgets) find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Widgets)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
# shall we use DBus? # shall we use DBus?
# enabled per default on Linux & BSD systems # enabled per default on Linux & BSD systems
@@ -61,7 +62,7 @@ ecm_setup_version(PROJECT VARIABLE_PREFIX KCMUTILS
PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6KCMUtilsConfigVersion.cmake" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6KCMUtilsConfigVersion.cmake"
SOVERSION 6) SOVERSION 6)
#####find_package(KF6KIO ${KF_DEP_VERSION} REQUIRED) ######find_package(KF6KIO ${KF_DEP_VERSION} REQUIRED)
find_package(KF6ItemViews ${KF_DEP_VERSION} REQUIRED) find_package(KF6ItemViews ${KF_DEP_VERSION} REQUIRED)
find_package(KF6ConfigWidgets ${KF_DEP_VERSION} REQUIRED) find_package(KF6ConfigWidgets ${KF_DEP_VERSION} REQUIRED)
find_package(KF6CoreAddons ${KF_DEP_VERSION} REQUIRED) find_package(KF6CoreAddons ${KF_DEP_VERSION} REQUIRED)
@@ -14,8 +14,8 @@ ecm_qt_declare_logging_category(kcmutils_logging_STATIC
add_subdirectory(core) add_subdirectory(core)
#####add_subdirectory(qml) ######add_subdirectory(qml)
#####add_subdirectory(quick) ######add_subdirectory(quick)
########### kcmutils ############### ########### kcmutils ###############
set(kcmutils_LIB_SRCS set(kcmutils_LIB_SRCS
@@ -118,4 +118,4 @@ ecm_qt_install_logging_categories(
DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}" DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}"
) )
#####add_subdirectory(kcmshell) ######add_subdirectory(kcmshell)
@@ -32,6 +32,7 @@ find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
@@ -40,6 +40,7 @@ set(REQUIRED_QT_VERSION 6.6.0)
find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Widgets) find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Widgets)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(KF6Codecs ${KF_DEP_VERSION} REQUIRED) find_package(KF6Codecs ${KF_DEP_VERSION} REQUIRED)
find_package(KF6Config ${KF_DEP_VERSION} REQUIRED) find_package(KF6Config ${KF_DEP_VERSION} REQUIRED)
@@ -27,6 +27,7 @@ include(CMakeDependentOption)
set(REQUIRED_QT_VERSION 6.6.0) set(REQUIRED_QT_VERSION 6.6.0)
find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets) find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
# shall we use DBus? # shall we use DBus?
# enabled per default on Linux & BSD systems # enabled per default on Linux & BSD systems
@@ -27,21 +27,6 @@ sed -i 's/^ecm_install_po_files_as_qm/#ecm_install_po_files_as_qm/' \
sed -i 's|#io/kfilesystemtype.cpp|io/kfilesystemtype.cpp|' \ sed -i 's|#io/kfilesystemtype.cpp|io/kfilesystemtype.cpp|' \
"${COOKBOOK_SOURCE}/src/lib/CMakeLists.txt" "${COOKBOOK_SOURCE}/src/lib/CMakeLists.txt"
# Provide a stub determineFileSystemTypeImpl() — Q_OS_LINUX path uses Linux-specific
# statfs which isn't available in relibc. Unknown is safe (only affects dir watch optimization).
KFS="${COOKBOOK_SOURCE}/src/lib/io/kfilesystemtype.cpp"
if ! grep -q 'Redox stub' "${KFS}" 2>/dev/null; then
awk '/^KFileSystemType::Type KFileSystemType::fileSystemType/ {
print "KFileSystemType::Type determineFileSystemTypeImpl(const QByteArray &path) {"
print " Q_UNUSED(path);"
print " return KFileSystemType::Unknown;"
print "}"
print ""
}
{ print }' "${KFS}" > "${KFS}.tmp"
mv "${KFS}.tmp" "${KFS}"
fi
cmake "${COOKBOOK_SOURCE}" \ cmake "${COOKBOOK_SOURCE}" \
-DCMAKE_TOOLCHAIN_FILE="${COOKBOOK_ROOT}/local/recipes/qt/redox-toolchain.cmake" \ -DCMAKE_TOOLCHAIN_FILE="${COOKBOOK_ROOT}/local/recipes/qt/redox-toolchain.cmake" \
-DQT_HOST_PATH="${HOST_BUILD}" \ -DQT_HOST_PATH="${HOST_BUILD}" \
@@ -234,7 +234,9 @@ KFileSystemType::Type determineFileSystemTypeImpl(const QByteArray &path)
} }
#endif #endif
KFileSystemType::Type determineFileSystemTypeImpl(const QByteArray &path) { // Redox stub determineFileSystemTypeImpl
KFileSystemType::Type determineFileSystemTypeImpl(const QByteArray &path)
{
Q_UNUSED(path); Q_UNUSED(path);
return KFileSystemType::Unknown; return KFileSystemType::Unknown;
} }
@@ -33,7 +33,7 @@ if(WITH_X11)
find_package(X11 REQUIRED) find_package(X11 REQUIRED)
set(HAVE_X11 TRUE) set(HAVE_X11 TRUE)
endif() endif()
#####find_package(Qt6Test REQUIRED) ######find_package(Qt6Test REQUIRED)
include(ECMGenerateExportHeader) include(ECMGenerateExportHeader)
include(ECMSetupVersion) include(ECMSetupVersion)
include(ECMGenerateHeaders) include(ECMGenerateHeaders)
@@ -32,7 +32,7 @@ find_package(KF6GuiAddons ${KF_DEP_VERSION} REQUIRED)
if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT REDOX) if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT REDOX)
## find_package(KF6GlobalAccel ${KF_DEP_VERSION} REQUIRED) ### find_package(KF6GlobalAccel ${KF_DEP_VERSION} REQUIRED)
set(HAVE_KGLOBALACCEL TRUE) set(HAVE_KGLOBALACCEL TRUE)
else() else()
set(HAVE_KGLOBALACCEL FALSE) set(HAVE_KGLOBALACCEL FALSE)
@@ -46,8 +46,12 @@ cmake "${COOKBOOK_SOURCE}" \
-DWITH_X11=OFF \ -DWITH_X11=OFF \
-Wno-dev -Wno-dev
if [ -f "${COOKBOOK_BUILD}/src/kglobalaccel_component_interface.cpp" ]; then
sed -i 's/kglobalaccel_component_interface.moc/moc_kglobalaccel_component_interface.cpp/' "${COOKBOOK_BUILD}/src/kglobalaccel_component_interface.cpp" sed -i 's/kglobalaccel_component_interface.moc/moc_kglobalaccel_component_interface.cpp/' "${COOKBOOK_BUILD}/src/kglobalaccel_component_interface.cpp"
fi
if [ -f "${COOKBOOK_BUILD}/src/kglobalaccel_interface.cpp" ]; then
sed -i 's/kglobalaccel_interface.moc/moc_kglobalaccel_interface.cpp/' "${COOKBOOK_BUILD}/src/kglobalaccel_interface.cpp" sed -i 's/kglobalaccel_interface.moc/moc_kglobalaccel_interface.cpp/' "${COOKBOOK_BUILD}/src/kglobalaccel_interface.cpp"
fi
cmake --build . -j${COOKBOOK_MAKE_JOBS} cmake --build . -j${COOKBOOK_MAKE_JOBS}
cmake --install . --prefix "${COOKBOOK_STAGE}/usr" cmake --install . --prefix "${COOKBOOK_STAGE}/usr"
@@ -25,7 +25,7 @@ include(ECMQtDeclareLoggingCategory)
include(ECMDeprecationSettings) include(ECMDeprecationSettings)
include(ECMAddQch) include(ECMAddQch)
include(CMakeDependentOption) include(CMakeDependentOption)
############################include(ECMQmlModule) #############################include(ECMQmlModule)
set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
@@ -68,10 +68,11 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6Svg ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) find_package(Qt6Svg ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
if (FALSE) if (FALSE)
######################### find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Qml Quick) ########################## find_package(Qt6 ${REQUIRED_QT_VERSION} NO_MODULE REQUIRED Qml Quick)
endif() endif()
# shall we use DBus? # shall we use DBus?
@@ -2,7 +2,7 @@ configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
add_subdirectory(tools/kiconfinder) add_subdirectory(tools/kiconfinder)
if (KICONTHEMES_USE_QTQUICK) if (KICONTHEMES_USE_QTQUICK)
####################### add_subdirectory(qml) ######################## add_subdirectory(qml)
endif() endif()
if (APPLE) if (APPLE)
add_subdirectory(tools/ksvg2icns) add_subdirectory(tools/ksvg2icns)
@@ -13,6 +13,8 @@
#include <QHostInfo> #include <QHostInfo>
#include <QHostInfo>
#include <QHostInfo> #include <QHostInfo>
#include "usernotificationhandler_p.h" #include "usernotificationhandler_p.h"
#include "workerbase.h" #include "workerbase.h"
@@ -28,6 +28,7 @@ include(CMakePackageConfigHelpers)
set(REQUIRED_QT_VERSION 6.6.0) set(REQUIRED_QT_VERSION 6.6.0)
find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets) find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
@@ -27,8 +27,14 @@ sed -i "s/^ecm_install_po_files_as_qm/#ecm_install_po_files_as_qm/" \
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
sed -i 's/^ki18n_install(po)/#ki18n_install(po)/' \ sed -i 's/^ki18n_install(po)/#ki18n_install(po)/' \
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
sed -i 's/^find_package(KF6Notifications/#find_package(KF6Notifications/' \
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
sed -i '/find_package(Qt6.*Widgets)/a find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)' \ sed -i '/find_package(Qt6.*Widgets)/a find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)' \
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
sed -i '/knotificationjobuidelegate.cpp/d' "${COOKBOOK_SOURCE}/src/CMakeLists.txt" 2>/dev/null || true
sed -i '/knotificationjobuidelegate.h/d' "${COOKBOOK_SOURCE}/src/CMakeLists.txt" 2>/dev/null || true
sed -i 's/KF6::Notifications/#KF6::Notifications/' "${COOKBOOK_SOURCE}/src/CMakeLists.txt" 2>/dev/null || true
sed -i 's/KNotificationJobUiDelegate/#KNotificationJobUiDelegate/' "${COOKBOOK_SOURCE}/src/CMakeLists.txt" 2>/dev/null || true
rm -f CMakeCache.txt rm -f CMakeCache.txt
rm -rf CMakeFiles rm -rf CMakeFiles
@@ -29,6 +29,11 @@ set(REQUIRED_QT_VERSION 6.6.0)
find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets) find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Widgets)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU) if(NOT WIN32 AND NOT APPLE AND NOT ANDROID AND NOT HAIKU)
option(WITH_X11 "Build with support for QX11Info::appUserTime()" ON) option(WITH_X11 "Build with support for QX11Info::appUserTime()" ON)
@@ -48,7 +53,7 @@ endif()
find_package(KF6CoreAddons ${KF_DEP_VERSION} REQUIRED) find_package(KF6CoreAddons ${KF_DEP_VERSION} REQUIRED)
find_package(KF6WidgetsAddons ${KF_DEP_VERSION} REQUIRED) find_package(KF6WidgetsAddons ${KF_DEP_VERSION} REQUIRED)
find_package(KF6Notifications ${KF_DEP_VERSION} REQUIRED) #find_package(KF6Notifications ${KF_DEP_VERSION} REQUIRED)
set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
@@ -34,8 +34,6 @@ target_sources(KF6JobWidgets PRIVATE
kwidgetjobtracker.cpp kwidgetjobtracker.cpp
kwidgetjobtracker.h kwidgetjobtracker.h
kwidgetjobtracker_p.h kwidgetjobtracker_p.h
knotificationjobuidelegate.cpp
knotificationjobuidelegate.h
${kjobwidgets_dbus_SRCS} ${kjobwidgets_dbus_SRCS}
) )
@@ -77,7 +75,7 @@ target_link_libraries(KF6JobWidgets
KF6::CoreAddons # KJob KF6::CoreAddons # KJob
PRIVATE PRIVATE
KF6::WidgetsAddons # KSqueezedTextLabel KF6::WidgetsAddons # KSqueezedTextLabel
KF6::Notifications #KF6::Notifications
) )
if (HAVE_QTDBUS) if (HAVE_QTDBUS)
target_link_libraries(KF6JobWidgets PRIVATE Qt6::DBus) target_link_libraries(KF6JobWidgets PRIVATE Qt6::DBus)
@@ -95,7 +93,7 @@ ecm_generate_headers(KJobWidgets_HEADERS
KUiServerV2JobTracker KUiServerV2JobTracker
KStatusBarJobTracker KStatusBarJobTracker
KWidgetJobTracker KWidgetJobTracker
KNotificationJobUiDelegate #KNotificationJobUiDelegate
REQUIRED_HEADERS KJobWidgets_HEADERS REQUIRED_HEADERS KJobWidgets_HEADERS
) )
@@ -35,6 +35,10 @@ sed -i 's/^include(ECMQmlModule)/#include(ECMQmlModule)/' \
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
sed -i 's/^ add_subdirectory(qml)/# add_subdirectory(qml)/' \ sed -i 's/^ add_subdirectory(qml)/# add_subdirectory(qml)/' \
"${COOKBOOK_SOURCE}/src/CMakeLists.txt" 2>/dev/null || true "${COOKBOOK_SOURCE}/src/CMakeLists.txt" 2>/dev/null || true
sed -i 's/^#add_subdirectory(src)/add_subdirectory(src)/' \
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
sed -i '139,160 s/^##//' "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
sed -i '148,160 s/^#//' "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
rm -f CMakeCache.txt rm -f CMakeCache.txt
rm -rf CMakeFiles rm -rf CMakeFiles
@@ -78,88 +78,88 @@ endif()
find_package(KF6Config ${KF_DEP_VERSION} REQUIRED) find_package(KF6Config ${KF_DEP_VERSION} REQUIRED)
##if (NOT APPLE AND NOT ANDROID AND NOT WIN32 AND NOT HAIKU OR (WIN32 AND NOT WITH_SNORETOAST)) ########if (NOT APPLE AND NOT ANDROID AND NOT WIN32 AND NOT HAIKU OR (WIN32 AND NOT WITH_SNORETOAST))
## find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED DBus) ######## find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED DBus)
## find_package(Canberra REQUIRED) ######## find_package(Canberra REQUIRED)
## set_package_properties(Canberra PROPERTIES ######## set_package_properties(Canberra PROPERTIES
## PURPOSE "Needed to build audio notification support") ######## PURPOSE "Needed to build audio notification support")
## if (TARGET Canberra::Canberra) ######## if (TARGET Canberra::Canberra)
## add_definitions(-DHAVE_CANBERRA) ######## add_definitions(-DHAVE_CANBERRA)
## endif() ######## endif()
##endif() ########endif()
#######
######## For the Python bindings
#######find_package(Python3 3.10 COMPONENTS Interpreter Development)
#######find_package(Shiboken6)
#######find_package(PySide6)
#######
######## Python Bindings
#######cmake_dependent_option(BUILD_PYTHON_BINDINGS "Generate Python Bindings" ON "TARGET Shiboken6::libshiboken AND TARGET PySide6::pyside6" OFF)
#######add_feature_info(PYTHON_BINDINGS ${BUILD_PYTHON_BINDINGS} "Python bindings")
#######
######## FreeBSD CI is missing required packages
#######if (CMAKE_SYSTEM_NAME MATCHES FreeBSD)
####### set(BUILD_PYTHON_BINDINGS OFF)
#######endif()
######
######remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY)
######
#######ecm_install_po_files_as_qm(poqm)
######
######ecm_set_disabled_deprecation_versions(
###### QT 6.8
###### KF 6.8
######)
######
######add_subdirectory(src)
######if (BUILD_TESTING)
###### add_subdirectory(tests)
###### add_subdirectory(autotests)
###### add_subdirectory(examples)
######endif()
#####
#####if (BUILD_PYTHON_BINDINGS)
##### include(ECMGeneratePythonBindings)
##### add_subdirectory(python)
#####endif()
####
##### create a Config.cmake and a ConfigVersion.cmake file and install them
####set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Notifications")
####
####if (BUILD_QCH)
#### ecm_install_qch_export(
#### TARGETS KF6Notifications_QCH
#### FILE KF6NotificationsQchTargets.cmake
#### DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
#### COMPONENT Devel
#### )
#### set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6NotificationsQchTargets.cmake\")")
####endif()
###
#include(CMakePackageConfigHelpers)
# #
## For the Python bindings #configure_package_config_file(
#find_package(Python3 3.10 COMPONENTS Interpreter Development) # "${CMAKE_CURRENT_SOURCE_DIR}/KF6NotificationsConfig.cmake.in"
#find_package(Shiboken6) # "${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfig.cmake"
#find_package(PySide6) # PATH_VARS KDE_INSTALL_DBUSINTERFACEDIR
# INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
#)
# #
## Python Bindings #install(FILES
#cmake_dependent_option(BUILD_PYTHON_BINDINGS "Generate Python Bindings" ON "TARGET Shiboken6::libshiboken AND TARGET PySide6::pyside6" OFF) # "${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfig.cmake"
#add_feature_info(PYTHON_BINDINGS ${BUILD_PYTHON_BINDINGS} "Python bindings") # "${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfigVersion.cmake"
# DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
# COMPONENT Devel
#)
# #
## FreeBSD CI is missing required packages ##install(EXPORT KF6NotificationsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF6NotificationsTargets.cmake NAMESPACE KF6:: )
#if (CMAKE_SYSTEM_NAME MATCHES FreeBSD)
# set(BUILD_PYTHON_BINDINGS OFF)
#endif()
remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY)
#ecm_install_po_files_as_qm(poqm)
ecm_set_disabled_deprecation_versions(
QT 6.8
KF 6.8
)
add_subdirectory(src)
if (BUILD_TESTING)
add_subdirectory(tests)
add_subdirectory(autotests)
add_subdirectory(examples)
endif()
if (BUILD_PYTHON_BINDINGS)
include(ECMGeneratePythonBindings)
add_subdirectory(python)
endif()
# create a Config.cmake and a ConfigVersion.cmake file and install them
set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Notifications")
if (BUILD_QCH)
ecm_install_qch_export(
TARGETS KF6Notifications_QCH
FILE KF6NotificationsQchTargets.cmake
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
COMPONENT Devel
)
set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6NotificationsQchTargets.cmake\")")
endif()
include(CMakePackageConfigHelpers)
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/KF6NotificationsConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfig.cmake"
PATH_VARS KDE_INSTALL_DBUSINTERFACEDIR
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfigVersion.cmake"
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
COMPONENT Devel
)
install(EXPORT KF6NotificationsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF6NotificationsTargets.cmake NAMESPACE KF6:: )
install(FILES install(FILES
${knotifications_version_header} ${knotifications_version_header}
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KNotifications COMPONENT Devel DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KNotifications COMPONENT Devel
) )
###
include(ECMFeatureSummary) ###include(ECMFeatureSummary)
ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) ###ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
###
kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) ###kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
@@ -42,6 +42,7 @@ find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED) find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED)
if (WITH_TEXT_TO_SPEECH) if (WITH_TEXT_TO_SPEECH)
find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED TextToSpeech) find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED TextToSpeech)
@@ -50,6 +50,7 @@ find_package(Qt6WaylandClientPrivate REQUIRED)
find_package(Qt6WaylandClientPrivate REQUIRED) find_package(Qt6WaylandClientPrivate REQUIRED)
find_package(Qt6WaylandClientPrivate REQUIRED) find_package(Qt6WaylandClientPrivate REQUIRED)
find_package(Qt6WaylandClientPrivate REQUIRED) find_package(Qt6WaylandClientPrivate REQUIRED)
find_package(Qt6WaylandClientPrivate REQUIRED)
set_package_properties(Wayland PROPERTIES set_package_properties(Wayland PROPERTIES
TYPE REQUIRED TYPE REQUIRED
) )
@@ -99,7 +99,7 @@ PUBLIC
PRIVATE PRIVATE
#QNetworkAccessManager in kaboutapplicationpersonmodel_p #QNetworkAccessManager in kaboutapplicationpersonmodel_p
#QPrinter in kshortcutseditor #QPrinter in kshortcutseditor
# Qt6::CorePrivate #QSystemLocale in initializeLanguages ## Qt6::CorePrivate #QSystemLocale in initializeLanguages
KF6::CoreAddons #KAboutData KF6::CoreAddons #KAboutData
KF6::GuiAddons KF6::GuiAddons
KF6::WidgetsAddons KF6::WidgetsAddons
@@ -75,10 +75,10 @@ void initializeLanguages()
// Ideally setting the LANGUAGE would change the default QLocale too // Ideally setting the LANGUAGE would change the default QLocale too
// but unfortunately this is too late since the QCoreApplication constructor // but unfortunately this is too late since the QCoreApplication constructor
// already created a QLocale at this stage so we need to set the reset it // already created a QLocale at this stage so we need to set the reset it
// // by triggering the creation and destruction of a QSystemLocale //// // by triggering the creation and destruction of a QSystemLocale
// this is highly dependent on Qt internals, so may break, but oh well // this is highly dependent on Qt internals, so may break, but oh well
// QSystemLocale *dummy = new QSystemLocale(); //// QSystemLocale *dummy = new QSystemLocale();
// delete dummy; //// delete dummy;
} }
} }
@@ -78,7 +78,7 @@ set_package_properties(PList PROPERTIES
if (CMAKE_SYSTEM_NAME MATCHES Linux) if (CMAKE_SYSTEM_NAME MATCHES Linux)
# Used by the UDisks backend on Linux # Used by the UDisks backend on Linux
#find_package(LibMount) ##find_package(LibMount)
set_package_properties(LibMount PROPERTIES set_package_properties(LibMount PROPERTIES
TYPE REQUIRED) TYPE REQUIRED)
endif() endif()
+9
View File
@@ -66,6 +66,15 @@ for tool in moc rcc uic qdbuscpp2xml qdbusxml2cpp wayland-scanner; do
[ -f "/usr/bin/$tool" ] && [ ! -e "${HOST_BUILD}/bin/$tool" ] && ln -sf "/usr/bin/$tool" "${HOST_BUILD}/bin/$tool" [ -f "/usr/bin/$tool" ] && [ ! -e "${HOST_BUILD}/bin/$tool" ] && ln -sf "/usr/bin/$tool" "${HOST_BUILD}/bin/$tool"
done done
mkdir -p "${HOST_BUILD}/lib/cmake"
for qt_module in Qt6Xml; do
if [ -d "/usr/lib/cmake/${qt_module}" ] && [ ! -e "${HOST_BUILD}/lib/cmake/${qt_module}" ]; then
ln -sf "/usr/lib/cmake/${qt_module}" "${HOST_BUILD}/lib/cmake/${qt_module}"
elif [ -d "/usr/lib64/cmake/${qt_module}" ] && [ ! -e "${HOST_BUILD}/lib/cmake/${qt_module}" ]; then
ln -sf "/usr/lib64/cmake/${qt_module}" "${HOST_BUILD}/lib/cmake/${qt_module}"
fi
done
rm -rf "${HOST_SCANNER_BUILD}" rm -rf "${HOST_SCANNER_BUILD}"
mkdir -p "${HOST_SCANNER_BUILD}" mkdir -p "${HOST_SCANNER_BUILD}"
env -u CPPFLAGS -u LDFLAGS -u RUSTFLAGS -u PKG_CONFIG_SYSROOT_DIR -u PKG_CONFIG_LIBDIR \ env -u CPPFLAGS -u LDFLAGS -u RUSTFLAGS -u PKG_CONFIG_SYSROOT_DIR -u PKG_CONFIG_LIBDIR \