]> cloud.milkyroute.net Git - dolphin.git/blobdiff - CMakeLists.txt
Merge remote-tracking branch 'fork/work/zakharafoniam/useful-groups'
[dolphin.git] / CMakeLists.txt
index 0f997225fcca3552022fc2a04ee243d62ae3719f..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_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_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(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()
@@ -77,6 +86,7 @@ find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS
     WidgetsAddons
     Codecs
     GuiAddons
     WidgetsAddons
     Codecs
     GuiAddons
+    ColorScheme
 )
 
 find_package(KF6UserFeedback ${KF6_MIN_VERSION})
 )
 
 find_package(KF6UserFeedback ${KF6_MIN_VERSION})
@@ -93,8 +103,6 @@ find_package(KF6 ${KF6_MIN_VERSION} OPTIONAL_COMPONENTS
     DocTools
 )
 
     DocTools
 )
 
-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"
@@ -105,6 +113,13 @@ if(PackageKitQt6_FOUND)
     set(HAVE_PACKAGEKIT TRUE)
 endif()
 
     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"
@@ -118,17 +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 (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()