X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/73e6d074e69ca7d16d8deb9b6eec0a685230e53b..fc965a725cd0cfdca520b1a08e1f144f06aab7d2:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 56e00749e..ae9507ef6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,30 +1,34 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.16) # KDE Application Version, managed by release script -set (KDE_APPLICATIONS_VERSION_MAJOR "19") -set (KDE_APPLICATIONS_VERSION_MINOR "04") -set (KDE_APPLICATIONS_VERSION_MICRO "2") -set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}") -project(Dolphin VERSION ${KDE_APPLICATIONS_VERSION}) +set (RELEASE_SERVICE_VERSION_MAJOR "22") +set (RELEASE_SERVICE_VERSION_MINOR "07") +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.8.0") -set(KF5_MIN_VERSION "5.56.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(${KDE_APPLICATIONS_VERSION} VARIABLE_PREFIX DOLPHIN +ecm_setup_version(${RELEASE_SERVICE_VERSION} VARIABLE_PREFIX DOLPHIN VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/dolphin_version.h" ) @@ -38,7 +42,7 @@ ecm_setup_version("5.0.0" VARIABLE_PREFIX DOLPHINPRIVATE 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 @@ -47,8 +51,6 @@ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS ) find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS - DocTools - Init KCMUtils NewStuff CoreAddons @@ -64,28 +66,52 @@ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS TextWidgets Notifications Crash + WindowSystem + WidgetsAddons ) + +find_package(KUserFeedback 1.2.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 "http://www.kde.org" + URL "https://www.kde.org" TYPE OPTIONAL 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(PackageKitQt${QT_MAJOR_VERSION}) +set_package_properties(PackageKitQt${QT_MAJOR_VERSION} + PROPERTIES DESCRIPTION "Software Manager integration" + TYPE OPTIONAL + PURPOSE "Used in the service menu installer" + ) +if(PackageKitQt${QT_MAJOR_VERSION}_FOUND) + set(HAVE_PACKAGEKIT TRUE) +endif() find_package(KF5Baloo ${KF5_MIN_VERSION}) set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "Baloo Core libraries" - URL "http://www.kde.org" + URL "https://www.kde.org" TYPE OPTIONAL PURPOSE "For adding desktop-wide search and tagging support to dolphin" ) -find_package(KF5BalooWidgets 18.08.0) +find_package(KF5BalooWidgets 19.07.70) set_package_properties(KF5BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets" - URL "http://www.kde.org" + URL "https://www.kde.org" TYPE OPTIONAL ) @@ -114,6 +140,12 @@ else() 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) @@ -144,12 +176,29 @@ install(FILES 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 ${DBUS_SERVICES_INSTALL_DIR}) +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() -install( FILES dolphin.categories DESTINATION ${KDE_INSTALL_CONFDIR} ) +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)