]> cloud.milkyroute.net Git - dolphin.git/blobdiff - CMakeLists.txt
Merge remote-tracking branch 'fork/work/zakharafoniam/useful-groups'
[dolphin.git] / CMakeLists.txt
index 5a4018351bea911cf030a2f6bdd89900f9d8af98..b5046c33a6679b93318545f8e3d61568c181cce2 100644 (file)
@@ -1,14 +1,19 @@
 cmake_minimum_required(VERSION 3.16)
 
 # KDE Application Version, managed by release script
 cmake_minimum_required(VERSION 3.16)
 
 # KDE Application Version, managed by release script
-set (RELEASE_SERVICE_VERSION_MAJOR "24")
-set (RELEASE_SERVICE_VERSION_MINOR "07")
+set (RELEASE_SERVICE_VERSION_MAJOR "25")
+set (RELEASE_SERVICE_VERSION_MINOR "11")
 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 "6.4.0")
 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 "6.4.0")
-set(KF6_MIN_VERSION "6.2.0")
+set(KF6_MIN_VERSION "6.9.0")
+
+# use C++20 like KF6 itself
+set(CMAKE_CXX_STANDARD 20)
+set(CMAKE_CXX_EXTENSIONS OFF)
+set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
 
 # ECM setup
 find_package(ECM ${KF6_MIN_VERSION} CONFIG REQUIRED)
 
 # ECM setup
 find_package(ECM ${KF6_MIN_VERSION} CONFIG REQUIRED)
@@ -53,6 +58,10 @@ find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
     DBus
 )
 
     DBus
 )
 
+if (Qt6Gui_VERSION VERSION_GREATER_EQUAL "6.10.0")
+    find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
+endif()
+
 if (UNIX AND NOT APPLE AND NOT HAIKU)
     set(HAVE_X11 TRUE)
 endif()
 if (UNIX AND NOT APPLE AND NOT HAIKU)
     set(HAVE_X11 TRUE)
 endif()
@@ -76,6 +85,8 @@ find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
     WindowSystem
     WidgetsAddons
     Codecs
     WindowSystem
     WidgetsAddons
     Codecs
+    GuiAddons
+    ColorScheme
 )
 
 find_package(KF6UserFeedback ${KF6_MIN_VERSION})
 )
 
 find_package(KF6UserFeedback ${KF6_MIN_VERSION})
@@ -91,25 +102,24 @@ endif()
 find_package(KF6 ${KF6_MIN_VERSION} OPTIONAL_COMPONENTS
     DocTools
 )
 find_package(KF6 ${KF6_MIN_VERSION} OPTIONAL_COMPONENTS
     DocTools
 )
-find_package(PlasmaActivities)
-set_package_properties(PlasmaActivities PROPERTIES DESCRIPTION "PlasmaActivities libraries"
-                       URL "https://www.kde.org"
-                       TYPE OPTIONAL
-                       PURPOSE "For tracking which folders are frequently accessed on a Plasma desktop"
-                      )
-
-find_package(Phonon4Qt6 CONFIG REQUIRED)
 
 find_package(PackageKitQt6)
 set_package_properties(PackageKitQt6
         PROPERTIES DESCRIPTION "Software Manager integration"
 
 find_package(PackageKitQt6)
 set_package_properties(PackageKitQt6
         PROPERTIES DESCRIPTION "Software Manager integration"
-        TYPE OPTIONAL
+        TYPE RECOMMENDED
         PURPOSE "Used in the service menu installer"
         )
 if(PackageKitQt6_FOUND)
     set(HAVE_PACKAGEKIT TRUE)
 endif()
 
         PURPOSE "Used in the service menu installer"
         )
 if(PackageKitQt6_FOUND)
     set(HAVE_PACKAGEKIT TRUE)
 endif()
 
+find_package(KF6FileMetaData ${KF6_MIN_VERSION})
+set_package_properties(KF6FileMetaData PROPERTIES
+                       URL "https://projects.kde.org/kfilemetadata"
+                       TYPE REQUIRED
+                       PURPOSE "For accessing file metadata labels and filesystem metadata"
+                      )
+
 find_package(KF6Baloo ${KF6_MIN_VERSION})
 set_package_properties(KF6Baloo PROPERTIES DESCRIPTION "Baloo Core libraries"
                        URL "https://www.kde.org"
 find_package(KF6Baloo ${KF6_MIN_VERSION})
 set_package_properties(KF6Baloo PROPERTIES DESCRIPTION "Baloo Core libraries"
                        URL "https://www.kde.org"
@@ -123,21 +133,15 @@ set_package_properties(KF6BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets"
                        TYPE OPTIONAL
                       )
 
                        TYPE OPTIONAL
                       )
 
-find_package(KF6FileMetaData ${KF6_MIN_VERSION})
-set_package_properties(KF6FileMetaData PROPERTIES
-                       URL "https://projects.kde.org/kfilemetadata"
-                       TYPE OPTIONAL
-                       PURPOSE "For accessing file metadata labels"
-                      )
-
-if (PlasmaActivities_FOUND)
-    set(HAVE_PLASMA_ACTIVITIES TRUE)
-endif()
-
-if (KF6Baloo_FOUND AND KF6BalooWidgets_FOUND AND KF6FileMetaData_FOUND)
+if (KF6Baloo_FOUND AND KF6BalooWidgets_FOUND)
     message(STATUS "Baloo packages are found")
     set(HAVE_BALOO TRUE)
     message(STATUS "Baloo packages are found")
     set(HAVE_BALOO TRUE)
-else()
+
+    find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+        Multimedia
+        MultimediaWidgets
+    )
+else ()
     message(WARNING "Baloo packages not found. They are needed for the metadata features of Dolphin (including the information panel).")
 endif()
 
     message(WARNING "Baloo packages not found. They are needed for the metadata features of Dolphin (including the information panel).")
 endif()