]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/CMakeLists.txt
Allow compiling Dolphin with KF5
[dolphin.git] / src / CMakeLists.txt
index b7aa5b3856510b141de6ac7548b8e4fa0207e604..41666e10d46df939e58ed791e5207167024b581a 100644 (file)
@@ -1,19 +1,41 @@
-macro_optional_find_package(Soprano)
-macro_optional_find_package(NepomukCore)
-macro_optional_find_package(NepomukWidgets)
-macro_log_feature(NepomukCore_FOUND "Nepomuk" "Nepomuk" "http://www.kde.org" FALSE "" "For adding desktop-wide tagging support to dolphin")
-macro_bool_to_01(NepomukCore_FOUND HAVE_NEPOMUK)
-configure_file(config-nepomuk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h )
+find_package(Baloo)
+set_package_properties(Baloo PROPERTIES DESCRIPTION "Baloo Core libraries"
+                       URL "http://www.kde.org"
+                       TYPE OPTIONAL
+                       PURPOSE "For adding desktop-wide search and tagging support to dolphin"
+                      )
+
+find_package(BalooWidgets)
+set_package_properties(BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets"
+                       URL "http://www.kde.org"
+                       TYPE OPTIONAL
+                      )
+
+find_package(KFileMetaData)
+set_package_properties(KFileMetaData PROPERTIES
+                       URL "https://projects.kde.org/kfilemetadata"
+                       TYPE OPTIONAL
+                       PURPOSE "For accessing file metadata labels"
+                      )
+
+if (Baloo_FOUND AND BalooWidgets_FOUND AND KFileMetaData_FOUND)
+    set(HAVE_BALOO TRUE)
+endif()
+
+find_package(KF5NewStuff CONFIG REQUIRED)
+find_package(KF5KCMUtils CONFIG REQUIRED)
+find_package(Phonon4Qt5 CONFIG REQUIRED)
+
+configure_file(config-baloo.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-baloo.h )
 
 macro_bool_to_01(X11_Xrender_FOUND HAVE_XRENDER)
 configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h )
 
-include_directories( ${KACTIVITIES_INCLUDE_DIRS} )
+include_directories( ${KACTIVITIES_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} )
 
-if (NepomukCore_FOUND)
-  # Yes, Soprano includes is what we need here
-  include_directories( ${SOPRANO_INCLUDE_DIR} ${NEPOMUK_CORE_INCLUDE_DIR} ${NEPOMUK_WIDGETS_INCLUDE_DIR} )
-endif (NepomukCore_FOUND)
+if(HAVE_BALOO)
+  include_directories(${BALOO_INCLUDE_DIR} ${BALOO_WIDGETS_INCLUDE_DIR} ${KFILEMETADATA_INCLUDE_DIR})
+endif()
 
 add_subdirectory(tests)
 
@@ -31,17 +53,19 @@ set(dolphinprivate_LIB_SRCS
     kitemviews/kitemlistselectionmanager.cpp
     kitemviews/kitemliststyleoption.cpp
     kitemviews/kitemlistview.cpp
-    kitemviews/kitemlistviewaccessible.cpp
+#    kitemviews/kitemlistviewaccessible.cpp
     kitemviews/kitemlistwidget.cpp
     kitemviews/kitemmodelbase.cpp
+    kitemviews/kitemset.cpp
     kitemviews/kstandarditem.cpp
     kitemviews/kstandarditemlistgroupheader.cpp
     kitemviews/kstandarditemlistwidget.cpp
     kitemviews/kstandarditemlistview.cpp
     kitemviews/kstandarditemmodel.cpp
+    kitemviews/private/kdirectorycontentscounter.cpp
+    kitemviews/private/kdirectorycontentscounterworker.cpp
     kitemviews/private/kfileitemclipboard.cpp
     kitemviews/private/kfileitemmodeldirlister.cpp
-    kitemviews/private/kfileitemmodelsortalgorithm.cpp
     kitemviews/private/kfileitemmodelfilter.cpp
     kitemviews/private/kitemlistheaderwidget.cpp
     kitemviews/private/kitemlistkeyboardsearchmanager.cpp
@@ -73,14 +97,16 @@ set(dolphinprivate_LIB_SRCS
     views/viewmodecontroller.cpp
     views/viewproperties.cpp
     views/zoomlevelinfo.cpp
+    dolphinremoveaction.cpp
+    dolphinnewfilemenu.cpp
 )
 
-if (NepomukCore_FOUND)
+if(HAVE_BALOO)
     set(dolphinprivate_LIB_SRCS
         ${dolphinprivate_LIB_SRCS}
-        kitemviews/private/knepomukrolesprovider.cpp
+        kitemviews/private/kbaloorolesprovider.cpp
     )
-endif (NepomukCore_FOUND)
+endif()
 
 kde4_add_kcfg_files(dolphinprivate_LIB_SRCS
     settings/dolphin_compactmodesettings.kcfgc
@@ -95,19 +121,19 @@ kde4_add_library(dolphinprivate SHARED ${dolphinprivate_LIB_SRCS})
 
 target_link_libraries(
     dolphinprivate
-    ${KDE4_KFILE_LIBS}
     konq
-    ${KDE4_KNEWSTUFF3_LIBS}
+    KF5::NewStuff
+    KF5::KDE4Support
 )
 
-if (NepomukCore_FOUND)
+if(HAVE_BALOO)
     target_link_libraries(
         dolphinprivate
-        ${NEPOMUK_CORE_LIBRARY}
-        ${NEPOMUK_WIDGETS_LIBRARY}
-        ${SOPRANO_LIBRARIES}
+        ${BALOO_LIBRARIES}
+        ${BALOO_WIDGETS_LIBRARY}
+        ${KFILEMETADATA_LIBRARY}
     )
-endif (NepomukCore_FOUND)
+endif()
 
 if(X11_Xrender_FOUND)
     target_link_libraries(dolphinprivate ${X11_Xrender_LIB})
@@ -122,15 +148,9 @@ install(TARGETS dolphinprivate  ${INSTALL_TARGETS_DEFAULT_ARGS})
 
 set(dolphinpart_SRCS
    dolphinpart.cpp
+   dolphinpart_ext.cpp
 )
 
-# Add dolphinpart_ext.cpp conditionally, only with KDE > 4.9.1.
-if (${KDE_VERSION} VERSION_GREATER "4.9.1")
-set(dolphinpart_SRCS
-    ${dolphinpart_SRCS}
-    dolphinpart_ext.cpp)
-endif (${KDE_VERSION} VERSION_GREATER "4.9.1")
-
 kde4_add_plugin(dolphinpart ${dolphinpart_SRCS})
 
 target_link_libraries(dolphinpart dolphinprivate konq ${KDE4_KPARTS_LIBS} ${KDE4_KFILE_LIBS})
@@ -147,7 +167,6 @@ set(dolphin_SRCS
     dolphinapplication.cpp
     dolphindockwidget.cpp
     dolphinmainwindow.cpp
-    dolphinnewfilemenu.cpp
     dolphinviewcontainer.cpp
     dolphincontextmenu.cpp
     filterbar/filterbar.cpp
@@ -171,7 +190,6 @@ set(dolphin_SRCS
     panels/folders/folderspanel.cpp
     search/dolphinfacetswidget.cpp
     search/dolphinsearchbox.cpp
-    search/dolphinsearchinformation.cpp
     settings/general/behaviorsettingspage.cpp
     settings/general/configurepreviewplugindialog.cpp
     settings/general/confirmationssettingspage.cpp
@@ -215,25 +233,25 @@ kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-fi
 
 kde4_add_kdeinit_executable(dolphin ${dolphin_SRCS})
 
+target_include_directories(kdeinit_dolphin PRIVATE ${PHONON_INCLUDES})
+
 target_link_libraries(kdeinit_dolphin
-    ${KDE4_KDEPRINT_LIBS}
-    ${KDE4_KFILE_LIBS}
-    ${KDE4_KPARTS_LIBS}
-    ${KDE4_KCMUTILS_LIBRARY}
     konq
     dolphinprivate
-    knewstuff3
-    ${KDE4_SOLID_LIBS}
-    ${KDE4_PHONON_LIBS}
+    KF5::NewStuff
+    KF5::Parts
+    KF5::KCMUtils
+    KF5::Solid
+    Phonon::phonon4qt5
+    KF5::KDE4Support
 )
 
-if (NepomukCore_FOUND)
+if(HAVE_BALOO)
     target_link_libraries(kdeinit_dolphin
-        ${NEPOMUK_CORE_LIBRARY}
-        ${NEPOMUK_WIDGETS_LIBRARY}
-        ${SOPRANO_LIBRARIES}
+        ${BALOO_LIBRARIES}
+        ${BALOO_WIDGETS_LIBRARY}
     )
-endif (NepomukCore_FOUND)
+endif()
 
 if (KActivities_FOUND)
     target_link_libraries(
@@ -304,12 +322,6 @@ target_link_libraries(kcm_dolphinviewmodes  ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS
 target_link_libraries(kcm_dolphinnavigation  ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
 target_link_libraries(kcm_dolphinservices  ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KNEWSTUFF3_LIBRARY} dolphinprivate)
 target_link_libraries(kcm_dolphingeneral ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} dolphinprivate)
-if (NepomukCore_FOUND)
-  target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_CORE_LIBRARY} ${NEPOMUK_WIDGETS_LIBRARY})
-  target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_CORE_LIBRARY} ${NEPOMUK_WIDGETS_LIBRARY})
-  target_link_libraries(kcm_dolphinservices ${NEPOMUK_CORE_LIBRARY} ${NEPOMUK_WIDGETS_LIBRARY})
-  target_link_libraries(kcm_dolphingeneral ${NEPOMUK_CORE_LIBRARY} ${NEPOMUK_WIDGETS_LIBRARY})
-endif (NepomukCore_FOUND)
 
 install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} )
 install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} )