X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/eaeee9f7d68d120b1982f24e73d8183db3418261..c8d8556950005dfd96ebdb41d2f43ad90356367c:/src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8cba1d906..16171ede0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,74 +1,91 @@ - -find_package(QImageBlitz REQUIRED) - macro_optional_find_package(Nepomuk) macro_log_feature(Nepomuk_FOUND "Nepomuk" "Nepomuk" "http://www.kde.org" FALSE "" "For adding desktop-wide tagging support to dolphin") macro_bool_to_01(Nepomuk_FOUND HAVE_NEPOMUK) configure_file(config-nepomuk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h ) -include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ${QIMAGEBLITZ_INCLUDES} ) +macro_bool_to_01(X11_Xrender_FOUND HAVE_XRENDER) +configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h ) + +include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ) if (Nepomuk_FOUND) # Yes, Soprano includes is what we need here include_directories( ${SOPRANO_INCLUDE_DIR} ${NEPOMUK_INCLUDE_DIR} ) endif (Nepomuk_FOUND) +add_subdirectory(tests) + ########### next target ############### set(dolphinprivate_LIB_SRCS - dolphincontroller.cpp - dolphindetailsview.cpp - dolphiniconsview.cpp - dolphincolumnview.cpp - dolphincolumnviewcontainer.cpp - dolphindirlister.cpp - dolphinfileitemdelegate.cpp - dolphinmodel.cpp - dolphinnewmenuobserver.cpp - dolphinsortfilterproxymodel.cpp - dolphincategorydrawer.cpp - dolphinview.cpp - dolphinviewactionhandler.cpp - dolphinviewautoscroller.cpp - dolphinremoteencoding.cpp - draganddrophelper.cpp - folderexpander.cpp - renamedialog.cpp - selectiontoggle.cpp - selectionmanager.cpp + kitemviews/kfileitemclipboard.cpp + kitemviews/kfileitemlistgroupheader.cpp + kitemviews/kfileitemlistview.cpp + kitemviews/kfileitemlistwidget.cpp + kitemviews/kfileitemmodel.cpp + kitemviews/kfileitemmodelfilter.cpp + kitemviews/kfileitemmodelrolesupdater.cpp + kitemviews/kitemlistcontainer.cpp + kitemviews/kitemlistcontroller.cpp + kitemviews/kitemlistgroupheader.cpp + kitemviews/kitemlistheader.cpp + kitemviews/kitemlistkeyboardsearchmanager.cpp + kitemviews/kitemlistrubberband.cpp + kitemviews/kitemlistselectionmanager.cpp + kitemviews/kitemlistselectiontoggle.cpp + kitemviews/kitemlistsizehintresolver.cpp + kitemviews/kitemlistsmoothscroller.cpp + kitemviews/kitemliststyleoption.cpp + kitemviews/kitemlistview.cpp + kitemviews/kitemlistviewanimation.cpp + kitemviews/kitemlistviewlayouter.cpp + kitemviews/kitemlistwidget.cpp + kitemviews/kitemmodelbase.cpp + kitemviews/kpixmapmodifier.cpp settings/additionalinfodialog.cpp settings/applyviewpropsjob.cpp - settings/dolphinsettings.cpp + settings/viewmodes/viewmodesettings.cpp settings/viewpropertiesdialog.cpp settings/viewpropsprogressinfo.cpp - tooltips/dolphintooltip.cpp - tooltips/ktooltip.cpp - tooltips/ktooltipdelegate.cpp - tooltips/ktooltipitem.cpp - tooltips/kformattedballoontipdelegate.cpp - tooltips/tooltipmanager.cpp - versioncontrolobserver.cpp - viewextensionsfactory.cpp - viewproperties.cpp - zoomlevelinfo.cpp - ) + views/additionalinfoaccessor.cpp + views/dolphindirlister.cpp + views/dolphinfileitemlistwidget.cpp + views/dolphinitemlistcontainer.cpp + views/dolphinnewfilemenuobserver.cpp + views/dolphinplacesmodel.cpp + views/dolphinremoteencoding.cpp + views/dolphinview.cpp + views/dolphinviewactionhandler.cpp + views/draganddrophelper.cpp + views/renamedialog.cpp + views/tooltips/filemetadatatooltip.cpp + views/tooltips/tooltipmanager.cpp + views/versioncontrol/updateitemstatesthread.cpp + views/versioncontrol/versioncontrolobserver.cpp + views/viewmodecontroller.cpp + views/viewproperties.cpp + views/zoomlevelinfo.cpp +) kde4_add_kcfg_files(dolphinprivate_LIB_SRCS - settings/dolphin_columnmodesettings.kcfgc + settings/dolphin_compactmodesettings.kcfgc settings/dolphin_directoryviewpropertysettings.kcfgc settings/dolphin_detailsmodesettings.kcfgc settings/dolphin_iconsmodesettings.kcfgc - settings/dolphin_generalsettings.kcfgc) + settings/dolphin_generalsettings.kcfgc + settings/dolphin_versioncontrolsettings.kcfgc +) kde4_add_library(dolphinprivate SHARED ${dolphinprivate_LIB_SRCS}) -target_link_libraries(dolphinprivate ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS} konq ${QIMAGEBLITZ_LIBRARIES} ${X11_LIBRARIES}) +target_link_libraries(dolphinprivate ${KDE4_KFILE_LIBS} konq ${KDE4_KNEWSTUFF3_LIBS}) +if (Nepomuk_FOUND) + target_link_libraries(dolphinprivate ${NEPOMUK_LIBRARIES} ${NEPOMUK_QUERY_LIBRARIES} nepomukutils ${SOPRANO_LIBRARIES}) +endif (Nepomuk_FOUND) if(X11_Xrender_FOUND) target_link_libraries(dolphinprivate ${X11_Xrender_LIB} ) endif(X11_Xrender_FOUND) -if (Nepomuk_FOUND) - target_link_libraries(dolphinprivate ${NEPOMUK_LIBRARIES} ${SOPRANO_LIBRARIES}) -endif (Nepomuk_FOUND) + set_target_properties(dolphinprivate PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) @@ -81,149 +98,156 @@ set(dolphinpart_SRCS dolphinpart.cpp ) -set(fileviewsvnplugin_SRCS - fileviewsvnplugin.cpp -) - kde4_add_plugin(dolphinpart ${dolphinpart_SRCS}) -kde4_add_plugin(fileviewsvnplugin ${fileviewsvnplugin_SRCS}) -target_link_libraries(dolphinpart dolphinprivate konq ${KDE4_KPARTS_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS}) -target_link_libraries(fileviewsvnplugin ${KDE4_KDECORE_LIBS} ${QT_QTGUI_LIBRARY} ${KDE4_KIO_LIBS} konq) +target_link_libraries(dolphinpart dolphinprivate konq ${KDE4_KPARTS_LIBS} ${KDE4_KFILE_LIBS}) install(TARGETS dolphinpart DESTINATION ${PLUGIN_INSTALL_DIR}) -install(TARGETS fileviewsvnplugin DESTINATION ${PLUGIN_INSTALL_DIR}) install(FILES dolphinpart.rc DESTINATION ${DATA_INSTALL_DIR}/dolphinpart) install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) -install(FILES fileviewsvnplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR}) +install(FILES views/versioncontrol/fileviewversioncontrolplugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR}) ########################################## set(dolphin_SRCS dolphinapplication.cpp + dolphindockwidget.cpp dolphinmainwindow.cpp - dolphinnewmenu.cpp + dolphinnewfilemenu.cpp dolphinviewcontainer.cpp - dolphinsearchbox.cpp - dolphindirlister.cpp dolphincontextmenu.cpp - filterbar.cpp + filterbar/filterbar.cpp main.cpp - pixmapviewer.cpp + panels/information/filemetadataconfigurationdialog.cpp panels/information/informationpanel.cpp panels/information/informationpanelcontent.cpp - panels/information/metadatawidget.cpp + panels/information/pixmapviewer.cpp panels/information/phononwidget.cpp - panels/folders/ktreeview.cpp panels/places/placespanel.cpp panels/panel.cpp panels/folders/treeviewcontextmenu.cpp panels/folders/folderspanel.cpp - panels/folders/paneltreeview.cpp - settings/behaviorsettingspage.cpp - settings/columnviewsettingspage.cpp - settings/contextmenusettingspage.cpp - settings/dolphinfontrequester.cpp + search/dolphinsearchbox.cpp + search/dolphinsearchinformation.cpp + settings/general/behaviorsettingspage.cpp + settings/general/configurepreviewplugindialog.cpp + settings/general/contextmenusettingspage.cpp + settings/general/generalsettingspage.cpp + settings/general/previewssettingspage.cpp + settings/general/statusbarsettingspage.cpp settings/dolphinsettingsdialog.cpp - settings/detailsviewsettingspage.cpp - settings/generalsettingspage.cpp - settings/iconsizegroupbox.cpp - settings/iconsviewsettingspage.cpp - settings/navigationsettingspage.cpp - settings/previewssettingspage.cpp - settings/servicessettingspage.cpp + settings/navigation/navigationsettingspage.cpp + settings/services/servicessettingspage.cpp settings/settingspagebase.cpp - settings/startupsettingspage.cpp - settings/statusbarsettingspage.cpp - settings/trashsettingspage.cpp - settings/viewsettingspage.cpp - settings/viewsettingspagebase.cpp + settings/serviceitemdelegate.cpp + settings/servicemodel.cpp + settings/startup/startupsettingspage.cpp + settings/trash/trashsettingspage.cpp + settings/viewmodes/dolphinfontrequester.cpp + settings/viewmodes/viewsettingspage.cpp + settings/viewmodes/viewmodesettings.cpp + settings/viewmodes/viewsettingstab.cpp statusbar/dolphinstatusbar.cpp statusbar/statusbarspaceinfo.cpp - statusbar/statusbarmessagelabel.cpp - zoomlevelinfo.cpp - ) + views/zoomlevelinfo.cpp +) kde4_add_kcfg_files(dolphin_SRCS panels/folders/dolphin_folderspanelsettings.kcfgc - panels/information/dolphin_informationpanelsettings.kcfgc) - -if(Nepomuk_FOUND) -set(dolphin_SRCS - ${dolphin_SRCS} - panels/information/commentwidget.cpp - panels/information/nepomukmassupdatejob.cpp - panels/information/taggingwidget.cpp + panels/information/dolphin_informationpanelsettings.kcfgc + settings/dolphin_compactmodesettings.kcfgc + settings/dolphin_detailsmodesettings.kcfgc + settings/dolphin_generalsettings.kcfgc + settings/dolphin_iconsmodesettings.kcfgc + search/dolphin_searchsettings.kcfgc + settings/dolphin_versioncontrolsettings.kcfgc ) +if(Nepomuk_FOUND) + set(dolphin_SRCS + ${dolphin_SRCS} + panels/search/searchpanel.cpp + ) endif(Nepomuk_FOUND) if(NOT WIN32) set(dolphin_SRCS ${dolphin_SRCS} panels/terminal/terminalpanel.cpp) endif(NOT WIN32) -qt4_add_dbus_adaptor(dolphin_SRCS - org.kde.dolphin.Application.xml - dolphinapplication.h DolphinApplication) -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}) - -target_link_libraries(dolphin ${KDE4_KIO_LIBS} ${KDE4_KDEPRINT_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KUTILS_LIBRARY} konq dolphinprivate ${KDE4_PHONON_LIBS}) +kde4_add_kdeinit_executable(dolphin ${dolphin_SRCS}) + +target_link_libraries(kdeinit_dolphin + ${KDE4_KDEPRINT_LIBS} + ${KDE4_KFILE_LIBS} + ${KDE4_KPARTS_LIBS} + ${KDE4_KCMUTILS_LIBRARY} + konq + dolphinprivate + knewstuff3 + ${KDE4_PHONON_LIBS} +) if (Nepomuk_FOUND) - target_link_libraries(dolphin ${NEPOMUK_LIBRARIES} ${SOPRANO_LIBRARIES}) + target_link_libraries(kdeinit_dolphin + ${NEPOMUK_LIBRARIES} + ${SOPRANO_LIBRARIES} + ${NEPOMUK_QUERY_LIBRARIES} + nepomukutils + ) endif (Nepomuk_FOUND) +install(TARGETS kdeinit_dolphin ${INSTALL_TARGETS_DEFAULT_ARGS}) install(TARGETS dolphin ${INSTALL_TARGETS_DEFAULT_ARGS}) ########################################## set(kcm_dolphinviewmodes_PART_SRCS - kcm/kcmdolphinviewmodes.cpp - settings/columnviewsettingspage.cpp - settings/detailsviewsettingspage.cpp - settings/dolphinfontrequester.cpp - settings/iconsizegroupbox.cpp - settings/iconsviewsettingspage.cpp - settings/viewsettingspagebase.cpp - pixmapviewer.cpp - zoomlevelinfo.cpp) + settings/kcm/kcmdolphinviewmodes.cpp + settings/viewmodes/dolphinfontrequester.cpp + settings/viewmodes/viewmodesettings.cpp + settings/viewmodes/viewsettingstab.cpp + views/zoomlevelinfo.cpp) set(kcm_dolphinnavigation_PART_SRCS - kcm/kcmdolphinnavigation.cpp - settings/navigationsettingspage.cpp + settings/kcm/kcmdolphinnavigation.cpp + settings/navigation/navigationsettingspage.cpp settings/settingspagebase.cpp) set(kcm_dolphinservices_PART_SRCS - kcm/kcmdolphinservices.cpp - settings/servicessettingspage.cpp - settings/settingspagebase.cpp) + settings/kcm/kcmdolphinservices.cpp + settings/services/servicessettingspage.cpp + settings/settingspagebase.cpp + settings/serviceitemdelegate.cpp + settings/servicemodel.cpp) set(kcm_dolphingeneral_PART_SRCS - kcm/kcmdolphingeneral.cpp - settings/behaviorsettingspage.cpp - settings/previewssettingspage.cpp - settings/contextmenusettingspage.cpp - settings/settingspagebase.cpp) + settings/kcm/kcmdolphingeneral.cpp + settings/general/behaviorsettingspage.cpp + settings/general/previewssettingspage.cpp + settings/general/configurepreviewplugindialog.cpp + settings/general/contextmenusettingspage.cpp + settings/settingspagebase.cpp + settings/serviceitemdelegate.cpp + settings/servicemodel.cpp) kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS - settings/dolphin_columnmodesettings.kcfgc + settings/dolphin_compactmodesettings.kcfgc settings/dolphin_directoryviewpropertysettings.kcfgc settings/dolphin_detailsmodesettings.kcfgc settings/dolphin_iconsmodesettings.kcfgc - settings/dolphin_generalsettings.kcfgc) + settings/dolphin_generalsettings.kcfgc + settings/dolphin_versioncontrolsettings.kcfgc +) kde4_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS settings/dolphin_generalsettings.kcfgc) kde4_add_kcfg_files(kcm_dolphinservices_PART_SRCS - settings/dolphin_generalsettings.kcfgc) + settings/dolphin_generalsettings.kcfgc + settings/dolphin_versioncontrolsettings.kcfgc) kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS settings/dolphin_generalsettings.kcfgc) @@ -235,8 +259,8 @@ kde4_add_plugin(kcm_dolphingeneral ${kcm_dolphingeneral_PART_SRCS}) target_link_libraries(kcm_dolphinviewmodes ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate) 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} dolphinprivate) -target_link_libraries(kcm_dolphingeneral ${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 (Nepomuk_FOUND) target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_LIBRARIES}) target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_LIBRARIES}) @@ -249,13 +273,32 @@ install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} ) install(TARGETS kcm_dolphinservices DESTINATION ${PLUGIN_INSTALL_DIR} ) install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} ) +######################################### + +set(kio_search_PART_SRCS + search/filenamesearchprotocol.cpp) +kde4_add_plugin(kio_filenamesearch ${kio_search_PART_SRCS}) +target_link_libraries(kio_filenamesearch ${KDE4_KIO_LIBS}) +install(TARGETS kio_filenamesearch DESTINATION ${PLUGIN_INSTALL_DIR}) + ########### install files ############### -install( FILES dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) -install( FILES settings/dolphin_directoryviewpropertysettings.kcfg settings/dolphin_generalsettings.kcfg settings/dolphin_columnmodesettings.kcfg settings/dolphin_iconsmodesettings.kcfg settings/dolphin_detailsmodesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR} ) -install( FILES dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin ) -install( FILES dolphinsearchcommands.desktop DESTINATION ${DATA_INSTALL_DIR}/dolphin ) -install( FILES kcm/kcmdolphinviewmodes.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) -install( FILES kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) -install( FILES kcm/kcmdolphinservices.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) -install( FILES kcm/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) +install( PROGRAMS dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) +install( FILES settings/dolphin_directoryviewpropertysettings.kcfg + settings/dolphin_generalsettings.kcfg + settings/dolphin_compactmodesettings.kcfg + settings/dolphin_iconsmodesettings.kcfg + settings/dolphin_detailsmodesettings.kcfg + settings/dolphin_versioncontrolsettings.kcfg + DESTINATION ${KCFG_INSTALL_DIR} ) +install( FILES dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin ) +install( FILES search/filenamesearch.protocol DESTINATION ${SERVICES_INSTALL_DIR} ) +install( FILES settings/kcm/kcmdolphinviewmodes.desktop DESTINATION +${SERVICES_INSTALL_DIR} ) +install( FILES settings/kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) +install( FILES settings/kcm/kcmdolphinservices.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) +install( FILES settings/kcm/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) +install( FILES settings/services/servicemenu.knsrc DESTINATION ${CONFIG_INSTALL_DIR} ) +install( PROGRAMS settings/services/servicemenuinstallation DESTINATION ${BIN_INSTALL_DIR} ) +install( PROGRAMS settings/services/servicemenudeinstallation DESTINATION ${BIN_INSTALL_DIR} ) +