]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/CMakeLists.txt
Consider the protocol and directory capabilities for file actions like Move To/Copy...
[dolphin.git] / src / CMakeLists.txt
index 2ad4814e20eb7ec2c73463fa4d0d6717494adbeb..80353a26838bab419d8d632f2041033230505fc5 100644 (file)
 
 add_subdirectory( pics )
-add_subdirectory( servicemenus )
+add_subdirectory( tests )
 
-include_directories( ${CMAKE_SOURCE_DIR}/libkonq ${KDE4_INCLUDE_DIR} ${QT_INCLUDES}  )
+macro_optional_find_package(Soprano)
+
+include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ${BLITZ_INCLUDES} )
+
+if (Soprano_FOUND)
+  include_directories( ${SOPRANO_INCLUDE_DIR} )
+endif (Soprano_FOUND)
 
 ########### next target ###############
 
 set(dolphinprivate_LIB_SRCS
-       dolphincontroller.cpp
-       dolphindetailsview.cpp
-       dolphiniconsview.cpp
-       dolphinsettings.cpp
-       viewproperties.cpp
-       dolphinsortfilterproxymodel.cpp
-       )
+    dolphincontroller.cpp
+    dolphindetailsview.cpp
+    dolphiniconsview.cpp
+    dolphincolumnview.cpp
+    dolphincolumnwidget.cpp
+    dolphindropcontroller.cpp
+    dolphinsortfilterproxymodel.cpp
+    draganddrophelper.cpp
+    dolphinmodel.cpp
+    dolphinsettings.cpp
+    dolphincategorydrawer.cpp
+    dolphinview.cpp
+    dolphinviewactionhandler.cpp
+    iconmanager.cpp
+    ktooltip.cpp
+    kballoontipdelegate.cpp
+    kformattedballoontipdelegate.cpp
+    renamedialog.cpp
+    selectiontoggle.cpp
+    selectionmanager.cpp
+    tooltipmanager.cpp
+    viewproperties.cpp
+    )
 
 kde4_add_kcfg_files(dolphinprivate_LIB_SRCS
-   dolphin_directoryviewpropertysettings.kcfgc
-   dolphin_detailsmodesettings.kcfgc
-   dolphin_iconsmodesettings.kcfgc
-   dolphin_generalsettings.kcfgc)
+    dolphin_columnmodesettings.kcfgc
+    dolphin_directoryviewpropertysettings.kcfgc
+    dolphin_detailsmodesettings.kcfgc
+    dolphin_iconsmodesettings.kcfgc
+    dolphin_generalsettings.kcfgc)
+
+kde4_add_library(dolphinprivate SHARED ${dolphinprivate_LIB_SRCS})
 
+find_package(Nepomuk)
+find_package(Soprano)
+macro_bool_to_01(Nepomuk_FOUND HAVE_NEPOMUK)
 
-kde4_automoc(${dolphinprivate_LIB_SRCS})
+configure_file(config-nepomuk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h )
 
-kde4_add_library(dolphinprivate SHARED ${dolphinprivate_LIB_SRCS})
+target_link_libraries(dolphinprivate ${KDE4_KFILE_LIBS} konq ${BLITZ_LIBRARIES})
+if (Nepomuk_FOUND)
+  target_link_libraries(dolphinprivate ${NEPOMUK_LIBRARIES} ${SOPRANO_LIBRARIES})
+endif (Nepomuk_FOUND)
 
-target_link_libraries(dolphinprivate ${KDE4_KDEUI_LIBS} konq)
 
-set_target_properties(dolphinprivate PROPERTIES VERSION 1.0.0 SOVERSION 1 )
-install(TARGETS dolphinprivate  DESTINATION ${LIB_INSTALL_DIR} )
+set_target_properties(dolphinprivate PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+install(TARGETS dolphinprivate  ${INSTALL_TARGETS_DEFAULT_ARGS})
 
 
 ##########################################
 
+set(dolphinpart_SRCS
+   dolphinpart.cpp
+)
+
+
+kde4_add_plugin(dolphinpart ${dolphinpart_SRCS})
+
+target_link_libraries(dolphinpart dolphinprivate)
+
+install(TARGETS dolphinpart DESTINATION ${PLUGIN_INSTALL_DIR} )
+
+install(FILES dolphinpart.rc DESTINATION ${DATA_INSTALL_DIR}/dolphinpart )
+install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
+
+##########################################
+
+set(dolphin_SRCS
+    additionalinfodialog.cpp
+    applyviewpropsjob.cpp
+    columnviewsettingspage.cpp
+    commentwidget.cpp
+    commenteditwidget.cpp
+    detailsviewsettingspage.cpp
+    dolphinapplication.cpp
+    dolphinfontrequester.cpp
+    dolphinmainwindow.cpp
+    dolphinnewmenu.cpp
+    dolphinviewcontainer.cpp
+    dolphinstatusbar.cpp
+    dolphindirlister.cpp
+    dolphincontextmenu.cpp
+    dolphinfileplacesview.cpp
+    dolphinsettingsdialog.cpp
+    draganddrophelper.cpp
+    fileitemcapabilities.cpp
+    filterbar.cpp
+    generalsettingspage.cpp
+    generalviewsettingspage.cpp
+    iconsizedialog.cpp
+    iconsviewsettingspage.cpp
+    infosidebarpage.cpp
+    main.cpp
+    metadatawidget.cpp
+    metatextlabel.cpp
+    pixmapviewer.cpp
+    settingspagebase.cpp
+    sidebarpage.cpp
+    startupsettingspage.cpp
+    statusbarspaceinfo.cpp
+    statusbarmessagelabel.cpp
+    treeviewcontextmenu.cpp
+    treeviewsidebarpage.cpp
+    sidebartreeview.cpp
+    viewpropertiesdialog.cpp
+    viewsettingspage.cpp
+    viewsettingspagebase.cpp
+    viewpropsprogressinfo.cpp)
+
+kde4_add_kcfg_files(dolphin_SRCS
+    dolphin_folderspanelsettings.kcfgc)
+
+if(Nepomuk_FOUND)
 set(dolphin_SRCS
-   applyviewpropsjob.cpp
-   bookmarkselector.cpp
-   bookmarkssettingspage.cpp
-   bookmarkssidebarpage.cpp
-   detailsviewsettingspage.cpp
-   dolphinapplication.cpp
-   dolphinmainwindow.cpp
-   dolphinnewmenu.cpp
-   dolphinview.cpp
-   dolphinstatusbar.cpp
-   dolphindirlister.cpp
-   dolphincontextmenu.cpp
-   dolphinsettingsdialog.cpp
-   editbookmarkdialog.cpp
-   filterbar.cpp
-   generalsettingspage.cpp
-   generalviewsettingspage.cpp
-   iconsizedialog.cpp
-   iconsviewsettingspage.cpp
-   infosidebarpage.cpp
-   main.cpp
-   metadatawidget.cpp
-   protocolcombo.cpp
-   pixmapviewer.cpp
-   renamedialog.cpp
-   settingspagebase.cpp
-   sidebarpage.cpp
-   statusbarspaceinfo.cpp
-   statusbarmessagelabel.cpp
-   treeviewcontextmenu.cpp
-   treeviewsidebarpage.cpp
-   sidebartreeview.cpp
-   urlbutton.cpp
-   urlnavigator.cpp
-   urlnavigatorbutton.cpp
-   viewpropertiesdialog.cpp
-   viewsettingspage.cpp
-   viewpropsprogressinfo.cpp )
-
-kde4_automoc(${dolphin_SRCS})
+  ${dolphin_SRCS}
+  nepomukmassupdatejob.cpp
+  tagcloud/tagcloud.cpp
+  tagcloud/resourcetaggingwidget.cpp
+  tagcloud/taggingpopup.cpp
+  tagcloud/newtagdialog.cpp
+)
+kde4_add_ui_files(dolphin_SRCS tagcloud/newtagdialog.ui)
+
+endif(Nepomuk_FOUND)
+
+if(NOT WIN32)
+   set(dolphin_SRCS ${dolphin_SRCS} terminalsidebarpage.cpp)
+endif(NOT WIN32)
 
 qt4_add_dbus_adaptor(dolphin_SRCS
    org.kde.dolphin.Application.xml
@@ -82,27 +148,54 @@ qt4_add_dbus_adaptor(dolphin_SRCS
 qt4_add_dbus_adaptor(dolphin_SRCS
    org.kde.dolphin.MainWindow.xml
    dolphinmainwindow.h DolphinMainWindow)
+
+kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-file-manager.png")
+
 kde4_add_executable(dolphin ${dolphin_SRCS})
-# find Nepomuk's libkmetadata
-find_path(KMETADATA_INCLUDE_DIR NAMES kmetadata/kmetadata.h PATHS ${KDE4_INCLUDE_DIR})
-find_library(KMETADATA_LIBRARY NAMES kmetadata kmetadatatools PATHS ${KDE4_LIB_DIR})
-find_library(KMETADATA_TOOLS_LIBRARY NAMES kmetadatatools PATHS ${KDE4_LIB_DIR})
-if(KMETADATA_INCLUDE_DIR AND KMETADATA_LIBRARY AND KMETADATA_TOOLS_LIBRARY)
-set(KDE4_KMETADATA kmetadata kmetadatatools)
-set(HAVE_KMETADATA 1)
-else(KMETADATA_INCLUDE_DIR AND KMETADATA_LIBRARY)
-set(KDE4_KMETADATA "")
-endif(KMETADATA_INCLUDE_DIR AND KMETADATA_LIBRARY AND KMETADATA_TOOLS_LIBRARY)
-configure_file(config-kmetadata.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kmetadata.h )
-target_link_libraries(dolphin  ${KDE4_KDECORE_LIBS} ${KDE4_KDEPRINT_LIBS} ${KDE4_KMETADATA} konq dolphinprivate)
+
+target_link_libraries(dolphin  ${KDE4_KDEPRINT_LIBS} ${KDE4_KFILE_LIBS} konq dolphinprivate)
+
+if (Nepomuk_FOUND)
+  target_link_libraries(dolphin ${NEPOMUK_LIBRARIES})
+endif (Nepomuk_FOUND)
 
 install(TARGETS dolphin DESTINATION ${BIN_INSTALL_DIR})
 
+##########################################
+
+set(kcm_dolphin_PART_SRCS
+    kcmdolphin.cpp
+    columnviewsettingspage.cpp
+    detailsviewsettingspage.cpp
+    dolphinfontrequester.cpp
+#    dolphinsettings.cpp
+    generalviewsettingspage.cpp
+    iconsizedialog.cpp
+    iconsviewsettingspage.cpp
+    pixmapviewer.cpp
+    viewsettingspagebase.cpp
+#    viewproperties.cpp
+)
+
+kde4_add_kcfg_files(kcm_dolphin_PART_SRCS
+    dolphin_columnmodesettings.kcfgc
+    dolphin_directoryviewpropertysettings.kcfgc
+    dolphin_detailsmodesettings.kcfgc
+    dolphin_iconsmodesettings.kcfgc
+    dolphin_generalsettings.kcfgc)
+
+kde4_add_plugin(kcm_dolphin ${kcm_dolphin_PART_SRCS})
+
+target_link_libraries(kcm_dolphin  ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
+if (Nepomuk_FOUND)
+  target_link_libraries(kcm_dolphin ${NEPOMUK_LIBRARIES})
+endif (Nepomuk_FOUND)
+
+install(TARGETS kcm_dolphin DESTINATION ${PLUGIN_INSTALL_DIR} )
 
 ########### install files ###############
 
-install( FILES  dolphin.desktop DESTINATION ${XDG_APPS_DIR} )
-install( FILES  dolphin_directoryviewpropertysettings.kcfg dolphin_generalsettings.kcfg dolphin_iconsmodesettings.kcfg dolphin_detailsmodesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR} )
+install( FILES  dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
+install( FILES  dolphin_directoryviewpropertysettings.kcfg dolphin_generalsettings.kcfg dolphin_columnmodesettings.kcfg dolphin_iconsmodesettings.kcfg dolphin_detailsmodesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR} )
 install( FILES  dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin )
-
-kde4_install_icons( ${ICON_INSTALL_DIR} )
+install( FILES kcmdolphin.desktop DESTINATION ${SERVICES_INSTALL_DIR} )