-cmake_minimum_required(VERSION 3.0)
+cmake_minimum_required(VERSION 3.16)
# KDE Application Version, managed by release script
-set (RELEASE_SERVICE_VERSION_MAJOR "20")
-set (RELEASE_SERVICE_VERSION_MINOR "11")
+set (RELEASE_SERVICE_VERSION_MAJOR "22")
+set (RELEASE_SERVICE_VERSION_MINOR "03")
set (RELEASE_SERVICE_VERSION_MICRO "70")
set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
project(Dolphin VERSION ${RELEASE_SERVICE_VERSION})
-set(QT_MIN_VERSION "5.14.0")
-set(KF5_MIN_VERSION "5.73.0")
+set(QT_MIN_VERSION "5.15.0")
+set(KF5_MIN_VERSION "5.91.0")
# ECM setup
find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
+include(KDEInstallDirs)
+include(KDECMakeSettings)
+include(KDECompilerSettings NO_POLICY_SCOPE)
+
include(ECMSetupVersion)
include(ECMGenerateHeaders)
+include(ECMGenerateDBusServiceFile)
+include(ECMConfiguredInstall)
include(CMakePackageConfigHelpers)
include(GenerateExportHeader)
include(FeatureSummary)
-include(KDEInstallDirs)
-include(KDECMakeSettings)
-include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
include(ECMQtDeclareLoggingCategory)
+include(ECMDeprecationSettings)
ecm_setup_version(${RELEASE_SERVICE_VERSION} VARIABLE_PREFIX DOLPHIN
VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/dolphin_version.h"
SOVERSION 5
)
-find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
Core
Concurrent
Widgets
)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
- DocTools
- Init
KCMUtils
NewStuff
CoreAddons
Crash
WindowSystem
)
+
+find_package(KUserFeedback 1.0.0)
+set_package_properties(KUserFeedback
+ PROPERTIES TYPE OPTIONAL
+ PURPOSE "Used for submission of telemetry data"
+ )
+
+if(KUserFeedback_FOUND)
+ set(HAVE_KUSERFEEDBACK TRUE)
+endif()
+
find_package(KF5 ${KF5_MIN_VERSION} OPTIONAL_COMPONENTS
Activities
+ DocTools
)
set_package_properties(KF5Activities PROPERTIES DESCRIPTION "KActivities libraries"
URL "https://www.kde.org"
PURPOSE "For tracking which folders are frequently accessed on a Plasma desktop"
)
-find_package(Phonon4Qt5 CONFIG REQUIRED)
+find_package(Phonon4Qt${QT_MAJOR_VERSION} CONFIG REQUIRED)
find_package(PackageKitQt5)
set_package_properties(PackageKitQt5
set(HAVE_TERMINAL TRUE)
endif()
+ecm_set_disabled_deprecation_versions(SHOW_DEPRECATIONS
+ QT 5.15
+ KF 5.90
+ KSERVICE 5.89 # We use KServiceTypeTrader in a compat code path
+)
+
add_subdirectory(src)
add_subdirectory(doc)
COMPONENT Devel
)
-configure_file(org.kde.dolphin.FileManager1.service.in
- ${CMAKE_CURRENT_BINARY_DIR}/org.kde.dolphin.FileManager1.service)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.dolphin.FileManager1.service
- DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR})
-install(FILES dolphin.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR})
+if(FLATPAK)
+ ecm_generate_dbus_service_file(
+ NAME org.freedesktop.FileManager1
+ EXECUTABLE "${KDE_INSTALL_FULL_BINDIR}/dolphin --daemon"
+ SYSTEMD_SERVICE plasma-dolphin.service
+ DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}
+ )
+else()
+ ecm_generate_dbus_service_file(
+ NAME org.freedesktop.FileManager1
+ EXECUTABLE "${KDE_INSTALL_FULL_BINDIR}/dolphin --daemon"
+ SYSTEMD_SERVICE plasma-dolphin.service
+ DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}
+ RENAME org.kde.dolphin.FileManager1.service
+ )
+endif()
+ecm_install_configured_files(INPUT plasma-dolphin.service.in DESTINATION ${KDE_INSTALL_SYSTEMDUSERUNITDIR})
+
+ecm_qt_install_logging_categories(
+ EXPORT DOLPHIN
+ FILE dolphin.categories
+ DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
+ )
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)