Fix KF6 framework recipes for Redox build compatibility
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -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)
|
||||||
@@ -40,6 +40,7 @@ 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(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
|
||||||
@@ -62,7 +63,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)
|
||||||
|
|||||||
@@ -33,6 +33,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)
|
||||||
|
|
||||||
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].")
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ 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(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)
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ 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)
|
||||||
|
|
||||||
# shall we use DBus?
|
# shall we use DBus?
|
||||||
# enabled per default on Linux & BSD systems
|
# enabled per default on Linux & BSD systems
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ rm -f CMakeCache.txt
|
|||||||
rm -rf CMakeFiles
|
rm -rf CMakeFiles
|
||||||
|
|
||||||
cmake "${COOKBOOK_SOURCE}" \
|
cmake "${COOKBOOK_SOURCE}" \
|
||||||
|
-GNinja \
|
||||||
-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}" \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
@@ -54,6 +55,15 @@ cmake "${COOKBOOK_SOURCE}" \
|
|||||||
-DCMAKE_DISABLE_FIND_PACKAGE_X11=ON \
|
-DCMAKE_DISABLE_FIND_PACKAGE_X11=ON \
|
||||||
-Wno-dev
|
-Wno-dev
|
||||||
|
|
||||||
|
mkdir -p "${COOKBOOK_BUILD}/src"
|
||||||
|
if [ -e "${HOST_BUILD}/bin/qdbuscpp2xml" ]; then
|
||||||
|
ln -sf "${HOST_BUILD}/bin/qdbuscpp2xml" "${COOKBOOK_BUILD}/src/Qt6::qdbuscpp2xml"
|
||||||
|
fi
|
||||||
|
if [ -e "${HOST_BUILD}/bin/qdbusxml2cpp" ]; then
|
||||||
|
ln -sf "${HOST_BUILD}/bin/qdbusxml2cpp" "${COOKBOOK_BUILD}/src/Qt6::qdbusxml2cpp"
|
||||||
|
fi
|
||||||
|
export PATH="${COOKBOOK_BUILD}/src:${HOST_BUILD}/bin:${PATH}"
|
||||||
|
|
||||||
cmake --build . -j${COOKBOOK_MAKE_JOBS} || true
|
cmake --build . -j${COOKBOOK_MAKE_JOBS} || true
|
||||||
|
|
||||||
BUILD_DIR="${COOKBOOK_BUILD}"
|
BUILD_DIR="${COOKBOOK_BUILD}"
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ rm -f CMakeCache.txt
|
|||||||
rm -rf CMakeFiles
|
rm -rf CMakeFiles
|
||||||
|
|
||||||
cmake "${COOKBOOK_SOURCE}" \
|
cmake "${COOKBOOK_SOURCE}" \
|
||||||
|
-GNinja \
|
||||||
-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}" \
|
||||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
@@ -46,6 +47,15 @@ cmake "${COOKBOOK_SOURCE}" \
|
|||||||
-DWITH_X11=OFF \
|
-DWITH_X11=OFF \
|
||||||
-Wno-dev
|
-Wno-dev
|
||||||
|
|
||||||
|
mkdir -p "${COOKBOOK_BUILD}/src"
|
||||||
|
if [ -e "${HOST_BUILD}/bin/qdbuscpp2xml" ]; then
|
||||||
|
ln -sf "${HOST_BUILD}/bin/qdbuscpp2xml" "${COOKBOOK_BUILD}/src/Qt6::qdbuscpp2xml"
|
||||||
|
fi
|
||||||
|
if [ -e "${HOST_BUILD}/bin/qdbusxml2cpp" ]; then
|
||||||
|
ln -sf "${HOST_BUILD}/bin/qdbusxml2cpp" "${COOKBOOK_BUILD}/src/Qt6::qdbusxml2cpp"
|
||||||
|
fi
|
||||||
|
export PATH="${COOKBOOK_BUILD}/src:${HOST_BUILD}/bin:${PATH}"
|
||||||
|
|
||||||
if [ -f "${COOKBOOK_BUILD}/src/kglobalaccel_component_interface.cpp" ]; then
|
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
|
fi
|
||||||
@@ -53,6 +63,18 @@ 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
|
fi
|
||||||
|
|
||||||
|
cmake --build . -j${COOKBOOK_MAKE_JOBS} || true
|
||||||
|
|
||||||
|
BUILD_DIR="${COOKBOOK_BUILD}"
|
||||||
|
for src in "${BUILD_DIR}"/src/moc_*.cpp; do
|
||||||
|
[ -f "$src" ] || continue
|
||||||
|
base=$(basename "$src" .cpp)
|
||||||
|
mocname="${base#moc_}.moc"
|
||||||
|
if [ ! -e "${BUILD_DIR}/src/$mocname" ]; then
|
||||||
|
ln -sf "$base.cpp" "${BUILD_DIR}/src/$mocname"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
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].")
|
||||||
|
|
||||||
@@ -69,10 +69,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)
|
||||||
|
|||||||
@@ -15,6 +15,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"
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ 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)
|
||||||
|
|
||||||
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,6 +34,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(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)
|
||||||
|
|||||||
@@ -75,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)
|
||||||
@@ -93,7 +93,7 @@ ecm_generate_headers(KJobWidgets_HEADERS
|
|||||||
KUiServerV2JobTracker
|
KUiServerV2JobTracker
|
||||||
KStatusBarJobTracker
|
KStatusBarJobTracker
|
||||||
KWidgetJobTracker
|
KWidgetJobTracker
|
||||||
#KNotificationJobUiDelegate
|
##KNotificationJobUiDelegate
|
||||||
|
|
||||||
REQUIRED_HEADERS KJobWidgets_HEADERS
|
REQUIRED_HEADERS KJobWidgets_HEADERS
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ sed -i 's/^ki18n_install(po)/#ki18n_install(po)/' \
|
|||||||
|
|
||||||
sed -i '/if (NOT APPLE AND NOT ANDROID AND NOT WIN32 AND NOT HAIKU/,/^endif()/s/^/#/' \
|
sed -i '/if (NOT APPLE AND NOT ANDROID AND NOT WIN32 AND NOT HAIKU/,/^endif()/s/^/#/' \
|
||||||
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
|
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
|
||||||
|
sed -i '127,137 s/^#*//' "${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
|
||||||
|
|
||||||
sed -i 's/^include(ECMQmlModule)/#include(ECMQmlModule)/' \
|
sed -i 's/^include(ECMQmlModule)/#include(ECMQmlModule)/' \
|
||||||
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
|
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
|
||||||
@@ -37,8 +38,6 @@ 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)/' \
|
sed -i 's/^#add_subdirectory(src)/add_subdirectory(src)/' \
|
||||||
"${COOKBOOK_SOURCE}/CMakeLists.txt" 2>/dev/null || true
|
"${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,86 @@ 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
|
################## For the Python bindings
|
||||||
#######find_package(Python3 3.10 COMPONENTS Interpreter Development)
|
#################find_package(Python3 3.10 COMPONENTS Interpreter Development)
|
||||||
#######find_package(Shiboken6)
|
#################find_package(Shiboken6)
|
||||||
#######find_package(PySide6)
|
#################find_package(PySide6)
|
||||||
#######
|
#################
|
||||||
######## Python Bindings
|
################## Python Bindings
|
||||||
#######cmake_dependent_option(BUILD_PYTHON_BINDINGS "Generate Python Bindings" ON "TARGET Shiboken6::libshiboken AND TARGET PySide6::pyside6" OFF)
|
#################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")
|
#################add_feature_info(PYTHON_BINDINGS ${BUILD_PYTHON_BINDINGS} "Python bindings")
|
||||||
#######
|
#################
|
||||||
######## FreeBSD CI is missing required packages
|
################## FreeBSD CI is missing required packages
|
||||||
#######if (CMAKE_SYSTEM_NAME MATCHES FreeBSD)
|
#################if (CMAKE_SYSTEM_NAME MATCHES FreeBSD)
|
||||||
####### set(BUILD_PYTHON_BINDINGS OFF)
|
################# set(BUILD_PYTHON_BINDINGS OFF)
|
||||||
#######endif()
|
#################endif()
|
||||||
######
|
################
|
||||||
######remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY)
|
################remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY)
|
||||||
######
|
################
|
||||||
#######ecm_install_po_files_as_qm(poqm)
|
#################ecm_install_po_files_as_qm(poqm)
|
||||||
######
|
################
|
||||||
######ecm_set_disabled_deprecation_versions(
|
################ecm_set_disabled_deprecation_versions(
|
||||||
###### QT 6.8
|
################ QT 6.8
|
||||||
###### KF 6.8
|
################ KF 6.8
|
||||||
######)
|
################)
|
||||||
######
|
################
|
||||||
######add_subdirectory(src)
|
################add_subdirectory(src)
|
||||||
######if (BUILD_TESTING)
|
################if (BUILD_TESTING)
|
||||||
###### add_subdirectory(tests)
|
################ add_subdirectory(tests)
|
||||||
###### add_subdirectory(autotests)
|
################ add_subdirectory(autotests)
|
||||||
###### add_subdirectory(examples)
|
################ add_subdirectory(examples)
|
||||||
######endif()
|
################endif()
|
||||||
#####
|
###############
|
||||||
#####if (BUILD_PYTHON_BINDINGS)
|
###############if (BUILD_PYTHON_BINDINGS)
|
||||||
##### include(ECMGeneratePythonBindings)
|
############### include(ECMGeneratePythonBindings)
|
||||||
##### add_subdirectory(python)
|
############### add_subdirectory(python)
|
||||||
#####endif()
|
###############endif()
|
||||||
####
|
##############
|
||||||
##### create a Config.cmake and a ConfigVersion.cmake file and install them
|
## create a Config.cmake and a ConfigVersion.cmake file and install them
|
||||||
####set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Notifications")
|
set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Notifications")
|
||||||
####
|
|
||||||
####if (BUILD_QCH)
|
if (BUILD_QCH)
|
||||||
#### ecm_install_qch_export(
|
ecm_install_qch_export(
|
||||||
#### TARGETS KF6Notifications_QCH
|
TARGETS KF6Notifications_QCH
|
||||||
#### FILE KF6NotificationsQchTargets.cmake
|
FILE KF6NotificationsQchTargets.cmake
|
||||||
#### DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
|
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
|
||||||
#### COMPONENT Devel
|
COMPONENT Devel
|
||||||
#### )
|
)
|
||||||
#### set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF6NotificationsQchTargets.cmake\")")
|
set(PACKAGE_INCLUDE_QCHTARGETS "include(\"${CMAKE_CURRENT_LIST_DIR}/KF6NotificationsQchTargets.cmake\")")
|
||||||
####endif()
|
endif()
|
||||||
###
|
include(CMakePackageConfigHelpers)
|
||||||
#include(CMakePackageConfigHelpers)
|
|
||||||
#
|
configure_package_config_file(
|
||||||
#configure_package_config_file(
|
"${CMAKE_CURRENT_SOURCE_DIR}/KF6NotificationsConfig.cmake.in"
|
||||||
# "${CMAKE_CURRENT_SOURCE_DIR}/KF6NotificationsConfig.cmake.in"
|
"${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfig.cmake"
|
||||||
# "${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfig.cmake"
|
PATH_VARS KDE_INSTALL_DBUSINTERFACEDIR
|
||||||
# PATH_VARS KDE_INSTALL_DBUSINTERFACEDIR
|
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
|
||||||
# INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
|
)
|
||||||
#)
|
|
||||||
#
|
install(FILES
|
||||||
#install(FILES
|
"${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfig.cmake"
|
||||||
# "${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfig.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfigVersion.cmake"
|
||||||
# "${CMAKE_CURRENT_BINARY_DIR}/KF6NotificationsConfigVersion.cmake"
|
DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
|
||||||
# DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
|
COMPONENT Devel
|
||||||
# COMPONENT Devel
|
)
|
||||||
#)
|
install(EXPORT KF6NotificationsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF6NotificationsTargets.cmake NAMESPACE KF6:: )
|
||||||
#
|
|
||||||
##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)
|
||||||
|
|||||||
@@ -15,6 +15,27 @@
|
|||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QSharedMemory>
|
#include <QSharedMemory>
|
||||||
|
|
||||||
|
#ifdef __redox__
|
||||||
|
static bool sharedMemoryLock(QSharedMemory &)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sharedMemoryUnlock(QSharedMemory &)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static bool sharedMemoryLock(QSharedMemory &memory)
|
||||||
|
{
|
||||||
|
return memory.lock();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sharedMemoryUnlock(QSharedMemory &memory)
|
||||||
|
{
|
||||||
|
memory.unlock();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
class KMemFile::Private
|
class KMemFile::Private
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -82,7 +103,7 @@ bool KMemFile::Private::loadContentsFromFile()
|
|||||||
parent->setErrorString(QCoreApplication::translate("", "Cannot create memory segment for file %1").arg(filename));
|
parent->setErrorString(QCoreApplication::translate("", "Cannot create memory segment for file %1").arg(filename));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
shmData.lock();
|
sharedMemoryLock(shmData);
|
||||||
qint64 size = 0;
|
qint64 size = 0;
|
||||||
qint64 bytesRead;
|
qint64 bytesRead;
|
||||||
char *data = static_cast<char *>(shmData.data());
|
char *data = static_cast<char *>(shmData.data());
|
||||||
@@ -93,15 +114,15 @@ bool KMemFile::Private::loadContentsFromFile()
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
shmDataSize = size;
|
shmDataSize = size;
|
||||||
shmData.unlock();
|
sharedMemoryUnlock(shmData);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void KMemFile::Private::close()
|
void KMemFile::Private::close()
|
||||||
{
|
{
|
||||||
shmData.unlock();
|
sharedMemoryUnlock(shmData);
|
||||||
shmData.detach();
|
shmData.detach();
|
||||||
shmInfo.unlock();
|
sharedMemoryUnlock(shmInfo);
|
||||||
shmInfo.detach();
|
shmInfo.detach();
|
||||||
readWritePos = 0;
|
readWritePos = 0;
|
||||||
shmDataSize = 0;
|
shmDataSize = 0;
|
||||||
@@ -151,44 +172,44 @@ bool KMemFile::open(OpenMode mode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
QSharedMemory lock(QDir(d->filename).canonicalPath());
|
QSharedMemory lock(QDir(d->filename).canonicalPath());
|
||||||
lock.lock();
|
sharedMemoryLock(lock);
|
||||||
|
|
||||||
Private::sharedInfoData *infoPtr;
|
Private::sharedInfoData *infoPtr;
|
||||||
d->shmInfo.setKey(d->getShmKey());
|
d->shmInfo.setKey(d->getShmKey());
|
||||||
// see if it's already in memory
|
// see if it's already in memory
|
||||||
if (!d->shmInfo.attach(QSharedMemory::ReadWrite)) {
|
if (!d->shmInfo.attach(QSharedMemory::ReadWrite)) {
|
||||||
if (!d->shmInfo.create(sizeof(Private::sharedInfoData))) {
|
if (!d->shmInfo.create(sizeof(Private::sharedInfoData))) {
|
||||||
lock.unlock();
|
sharedMemoryUnlock(lock);
|
||||||
setErrorString(QCoreApplication::translate("", "Cannot create memory segment for file %1").arg(d->filename));
|
setErrorString(QCoreApplication::translate("", "Cannot create memory segment for file %1").arg(d->filename));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
d->shmInfo.lock();
|
sharedMemoryLock(d->shmInfo);
|
||||||
// no -> create it
|
// no -> create it
|
||||||
infoPtr = static_cast<Private::sharedInfoData *>(d->shmInfo.data());
|
infoPtr = static_cast<Private::sharedInfoData *>(d->shmInfo.data());
|
||||||
memset(infoPtr, 0, sizeof(Private::sharedInfoData));
|
memset(infoPtr, 0, sizeof(Private::sharedInfoData));
|
||||||
infoPtr->shmCounter = 1;
|
infoPtr->shmCounter = 1;
|
||||||
if (!d->loadContentsFromFile()) {
|
if (!d->loadContentsFromFile()) {
|
||||||
d->shmInfo.unlock();
|
sharedMemoryUnlock(d->shmInfo);
|
||||||
d->shmInfo.detach();
|
d->shmInfo.detach();
|
||||||
lock.unlock();
|
sharedMemoryUnlock(lock);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
d->shmInfo.lock();
|
sharedMemoryLock(d->shmInfo);
|
||||||
infoPtr = static_cast<Private::sharedInfoData *>(d->shmInfo.data());
|
infoPtr = static_cast<Private::sharedInfoData *>(d->shmInfo.data());
|
||||||
d->shmData.setKey(d->getShmKey(infoPtr->shmCounter));
|
d->shmData.setKey(d->getShmKey(infoPtr->shmCounter));
|
||||||
if (!d->shmData.attach(QSharedMemory::ReadOnly)) {
|
if (!d->shmData.attach(QSharedMemory::ReadOnly)) {
|
||||||
if (!d->loadContentsFromFile()) {
|
if (!d->loadContentsFromFile()) {
|
||||||
d->shmInfo.unlock();
|
sharedMemoryUnlock(d->shmInfo);
|
||||||
d->shmInfo.detach();
|
d->shmInfo.detach();
|
||||||
lock.unlock();
|
sharedMemoryUnlock(lock);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
d->shmDataSize = infoPtr->shmDataSize;
|
d->shmDataSize = infoPtr->shmDataSize;
|
||||||
d->shmInfo.unlock();
|
sharedMemoryUnlock(d->shmInfo);
|
||||||
lock.unlock();
|
sharedMemoryUnlock(lock);
|
||||||
|
|
||||||
setOpenMode(mode);
|
setOpenMode(mode);
|
||||||
return true;
|
return true;
|
||||||
@@ -232,17 +253,17 @@ qint64 KMemFile::writeData(const char *, qint64)
|
|||||||
void KMemFile::fileContentsChanged(const QString &filename)
|
void KMemFile::fileContentsChanged(const QString &filename)
|
||||||
{
|
{
|
||||||
QSharedMemory lock(QDir(filename).canonicalPath());
|
QSharedMemory lock(QDir(filename).canonicalPath());
|
||||||
lock.lock();
|
sharedMemoryLock(lock);
|
||||||
|
|
||||||
QSharedMemory shmData(Private::getShmKey(filename));
|
QSharedMemory shmData(Private::getShmKey(filename));
|
||||||
if (!shmData.attach()) {
|
if (!shmData.attach()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
shmData.lock();
|
sharedMemoryLock(shmData);
|
||||||
Private::sharedInfoData *infoPtr = static_cast<Private::sharedInfoData *>(shmData.data());
|
Private::sharedInfoData *infoPtr = static_cast<Private::sharedInfoData *>(shmData.data());
|
||||||
infoPtr->shmCounter++;
|
infoPtr->shmCounter++;
|
||||||
infoPtr->shmDataSize = 0;
|
infoPtr->shmDataSize = 0;
|
||||||
shmData.unlock();
|
sharedMemoryUnlock(shmData);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // QT_NO_SHAREDMEMORY
|
#endif // QT_NO_SHAREDMEMORY
|
||||||
|
|||||||
@@ -43,6 +43,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)
|
||||||
|
|||||||
@@ -51,6 +51,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()
|
||||||
|
|||||||
Reference in New Issue
Block a user