X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/b5ada3a879cab2ddd1ef5f9b134e45c585ab74cb..27a4b768714efb8a2b78f4fcb155e267cc1da05a:/src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cb572c654..f2d9032fa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,11 +1,17 @@ -add_subdirectory( pics ) -add_subdirectory( servicemenus ) -add_subdirectory( tests ) +find_package(QImageBlitz REQUIRED) -include_directories( ${CMAKE_SOURCE_DIR}/libkonq ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ) +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 ) -add_definitions (-DQT3_SUPPORT) +include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ${QIMAGEBLITZ_INCLUDES} ) + +if (Nepomuk_FOUND) + # Yes, Soprano includes is what we need here + include_directories( ${SOPRANO_INCLUDE_DIR} ${NEPOMUK_INCLUDE_DIR} ) +endif (Nepomuk_FOUND) ########### next target ############### @@ -14,41 +20,53 @@ set(dolphinprivate_LIB_SRCS dolphindetailsview.cpp dolphiniconsview.cpp dolphincolumnview.cpp - dolphinitemcategorizer.cpp - klistview.cpp - ksortfilterproxymodel.cpp - dolphinsettings.cpp - viewproperties.cpp + dolphincolumnwidget.cpp + dolphindirlister.cpp + dolphinfileitemdelegate.cpp + dolphinmodel.cpp dolphinsortfilterproxymodel.cpp - renamedialog.cpp + dolphincategorydrawer.cpp dolphinview.cpp + dolphinviewactionhandler.cpp + dolphinviewautoscroller.cpp + draganddrophelper.cpp + folderexpander.cpp + renamedialog.cpp + selectiontoggle.cpp + selectionmanager.cpp + settings/additionalinfodialog.cpp + settings/applyviewpropsjob.cpp + settings/dolphinsettings.cpp + settings/viewpropertiesdialog.cpp + settings/viewpropsprogressinfo.cpp + tooltips/dolphintooltip.cpp + tooltips/ktooltip.cpp + tooltips/kformattedballoontipdelegate.cpp + tooltips/tooltipmanager.cpp + viewproperties.cpp + zoomlevelinfo.cpp ) kde4_add_kcfg_files(dolphinprivate_LIB_SRCS - dolphin_columnmodesettings.kcfgc - dolphin_directoryviewpropertysettings.kcfgc - dolphin_detailsmodesettings.kcfgc - dolphin_iconsmodesettings.kcfgc - dolphin_generalsettings.kcfgc) - - -kde4_automoc(${dolphinprivate_LIB_SRCS}) + settings/dolphin_columnmodesettings.kcfgc + settings/dolphin_directoryviewpropertysettings.kcfgc + settings/dolphin_detailsmodesettings.kcfgc + settings/dolphin_iconsmodesettings.kcfgc + settings/dolphin_generalsettings.kcfgc) kde4_add_library(dolphinprivate SHARED ${dolphinprivate_LIB_SRCS}) -find_package(Nepomuk) -macro_bool_to_01(Nepomuk_FOUND HAVE_NEPOMUK) - -configure_file(config-nepomuk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h ) - -target_link_libraries(dolphinprivate ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} konq) +target_link_libraries(dolphinprivate ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS} konq ${QIMAGEBLITZ_LIBRARIES} ${X11_LIBRARIES}) +if(X11_Xrender_FOUND) + target_link_libraries(dolphinprivate ${X11_Xrender_LIB} ) +endif(X11_Xrender_FOUND) if (Nepomuk_FOUND) - target_link_libraries(dolphinprivate ${NEPOMUK_LIBRARIES}) + target_link_libraries(dolphinprivate ${NEPOMUK_LIBRARIES} ${SOPRANO_LIBRARIES}) endif (Nepomuk_FOUND) -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}) ########################################## @@ -57,54 +75,85 @@ set(dolphinpart_SRCS dolphinpart.cpp ) -kde4_automoc(${dolphinpart_SRCS}) kde4_add_plugin(dolphinpart ${dolphinpart_SRCS}) -target_link_libraries(dolphinpart dolphinprivate) +target_link_libraries(dolphinpart dolphinprivate konq ${KDE4_KPARTS_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS}) install(TARGETS dolphinpart DESTINATION ${PLUGIN_INSTALL_DIR} ) -install(FILES dolphinpart.rc DESTINATION ${DATA_INSTALL_DIR}/dolphinpart ) +install(FILES dolphinpart.rc DESTINATION ${DATA_INSTALL_DIR}/dolphinpart) install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) - ########################################## set(dolphin_SRCS - applyviewpropsjob.cpp - columnviewsettingspage.cpp - detailsviewsettingspage.cpp - dolphinapplication.cpp - dolphinmainwindow.cpp - dolphinnewmenu.cpp - dolphinviewcontainer.cpp - dolphinstatusbar.cpp - dolphindirlister.cpp - dolphincontextmenu.cpp - dolphinsettingsdialog.cpp - filterbar.cpp - generalsettingspage.cpp - generalviewsettingspage.cpp - iconsizedialog.cpp - iconsviewsettingspage.cpp - infosidebarpage.cpp - main.cpp - metadatawidget.cpp - pixmapviewer.cpp - settingspagebase.cpp - sidebarpage.cpp - statusbarspaceinfo.cpp - statusbarmessagelabel.cpp - terminalsidebarpage.cpp - treeviewcontextmenu.cpp - treeviewsidebarpage.cpp - sidebartreeview.cpp - viewpropertiesdialog.cpp - viewsettingspage.cpp - viewpropsprogressinfo.cpp ) - -kde4_automoc(${dolphin_SRCS}) + dolphinapplication.cpp + dolphinmainwindow.cpp + dolphinnewmenu.cpp + dolphinviewcontainer.cpp + dolphinsearchbox.cpp + dolphinstatusbar.cpp + dolphindirlister.cpp + dolphincontextmenu.cpp + filterbar.cpp + main.cpp + pixmapviewer.cpp + panels/information/commentwidget.cpp + panels/information/commenteditwidget.cpp + panels/information/informationpanel.cpp + panels/information/metadatawidget.cpp + panels/information/metatextlabel.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 + 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/settingspagebase.cpp + settings/startupsettingspage.cpp + settings/statusbarsettingspage.cpp + settings/trashsettingspage.cpp + settings/viewsettingspage.cpp + settings/viewsettingspagebase.cpp + statusbarspaceinfo.cpp + statusbarmessagelabel.cpp + 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/nepomukmassupdatejob.cpp + panels/information/tagcloud.cpp + panels/information/resourcetaggingwidget.cpp + panels/information/taggingpopup.cpp + panels/information/newtagdialog.cpp +) +kde4_add_ui_files(dolphin_SRCS panels/information/newtagdialog.ui) + +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 @@ -112,21 +161,91 @@ 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}) -target_link_libraries(dolphin ${KDE4_KDECORE_LIBS} ${KDE4_KDEPRINT_LIBS} ${KDE4_KFILE_LIBS} konq dolphinprivate) +target_link_libraries(dolphin ${KDE4_KIO_LIBS} ${KDE4_KDEPRINT_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KUTILS_LIBRARY} konq dolphinprivate ${KDE4_PHONON_LIBS}) if (Nepomuk_FOUND) - target_link_libraries(dolphin ${NEPOMUK_LIBRARIES}) + target_link_libraries(dolphin ${NEPOMUK_LIBRARIES} ${SOPRANO_LIBRARIES}) endif (Nepomuk_FOUND) -install(TARGETS dolphin DESTINATION ${BIN_INSTALL_DIR}) +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) + +set(kcm_dolphinnavigation_PART_SRCS + kcm/kcmdolphinnavigation.cpp + settings/navigationsettingspage.cpp + settings/settingspagebase.cpp) + +set(kcm_dolphinservices_PART_SRCS + kcm/kcmdolphinservices.cpp + settings/servicessettingspage.cpp + settings/settingspagebase.cpp) + +set(kcm_dolphingeneral_PART_SRCS + kcm/kcmdolphingeneral.cpp + settings/behaviorsettingspage.cpp + settings/previewssettingspage.cpp + settings/settingspagebase.cpp) + +kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS + settings/dolphin_columnmodesettings.kcfgc + settings/dolphin_directoryviewpropertysettings.kcfgc + settings/dolphin_detailsmodesettings.kcfgc + settings/dolphin_iconsmodesettings.kcfgc + settings/dolphin_generalsettings.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) + +kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS + settings/dolphin_generalsettings.kcfgc) + +kde4_add_plugin(kcm_dolphinviewmodes ${kcm_dolphinviewmodes_PART_SRCS}) +kde4_add_plugin(kcm_dolphinnavigation ${kcm_dolphinnavigation_PART_SRCS}) +kde4_add_plugin(kcm_dolphinservices ${kcm_dolphinservices_PART_SRCS}) +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) +if (Nepomuk_FOUND) + target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_LIBRARIES}) + target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_LIBRARIES}) + target_link_libraries(kcm_dolphinservices ${NEPOMUK_LIBRARIES}) + target_link_libraries(kcm_dolphingeneral ${NEPOMUK_LIBRARIES}) +endif (Nepomuk_FOUND) + +install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} ) +install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} ) +install(TARGETS kcm_dolphinservices DESTINATION ${PLUGIN_INSTALL_DIR} ) +install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} ) ########### install files ############### -install( FILES dolphin.desktop DESTINATION ${XDG_APPS_DIR} ) -install( FILES dolphin_directoryviewpropertysettings.kcfg dolphin_generalsettings.kcfg dolphin_columnmodesettings.kcfg dolphin_iconsmodesettings.kcfg dolphin_detailsmodesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR} ) +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 ) - -kde4_install_icons( ${ICON_INSTALL_DIR} ) +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} )