X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/a4ef4bbfdebad708e4b3c772c1ce3e236a4da145..6d9f5b21315bf7c9f6b08e32a89346e22c482714:/src/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3aac80bf8..17ac9cd21 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,40 +1,16 @@ -macro_optional_find_package(NepomukCore) -set_package_properties(NepomukCore PROPERTIES DESCRIPTION "Nepomuk Core libraries" - URL "http://www.kde.org" - TYPE OPTIONAL - PURPOSE "For adding desktop-wide tagging support to dolphin" - ) - -macro_optional_find_package(NepomukWidgets) -set_package_properties(NepomukWidgets PROPERTIES DESCRIPTION "Nepomuk Widgets" - URL "http://www.kde.org" - TYPE OPTIONAL - PURPOSE "For adding desktop-wide tagging support to dolphin" - ) - -if(NepomukCore_FOUND AND NepomukWidgets_FOUND) - set(HAVE_NEPOMUK TRUE) -endif() - -configure_file(config-nepomuk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h ) -macro_bool_to_01(X11_Xrender_FOUND HAVE_XRENDER) -configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h ) +configure_file(config-baloo.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-baloo.h) -include_directories( ${KACTIVITIES_INCLUDE_DIRS} ) +configure_file(config-dolphin.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-dolphin.h) -if(HAVE_NEPOMUK) - find_package(Soprano 2.7.56) - set_package_properties(Soprano PROPERTIES DESCRIPTION "Qt-based RDF storage and parsing solution" - URL "http://soprano.sourceforge.net" - TYPE REQUIRED - PURPOSE "Required for everything (storage and general data management)" - ) +add_definitions(-DTRANSLATION_DOMAIN=\"dolphin\") +remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_URL_CAST_FROM_STRING) - include_directories( ${SOPRANO_INCLUDE_DIR} ${NEPOMUK_CORE_INCLUDE_DIR} ${NEPOMUK_WIDGETS_INCLUDE_DIR} ) +if(X11_Xrender_FOUND) + set(HAVE_XRENDER TRUE) endif() -add_subdirectory(tests) +configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h) ########### next target ############### @@ -53,11 +29,14 @@ set(dolphinprivate_LIB_SRCS 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/kfileitemmodelfilter.cpp @@ -95,14 +74,14 @@ set(dolphinprivate_LIB_SRCS dolphinnewfilemenu.cpp ) -if(HAVE_NEPOMUK) +if(HAVE_BALOO) set(dolphinprivate_LIB_SRCS ${dolphinprivate_LIB_SRCS} - kitemviews/private/knepomukrolesprovider.cpp + kitemviews/private/kbaloorolesprovider.cpp ) endif() -kde4_add_kcfg_files(dolphinprivate_LIB_SRCS +kconfig_add_kcfg_files(dolphinprivate_LIB_SRCS GENERATE_MOC settings/dolphin_compactmodesettings.kcfgc settings/dolphin_directoryviewpropertysettings.kcfgc settings/dolphin_detailsmodesettings.kcfgc @@ -111,21 +90,25 @@ kde4_add_kcfg_files(dolphinprivate_LIB_SRCS settings/dolphin_versioncontrolsettings.kcfgc ) -kde4_add_library(dolphinprivate SHARED ${dolphinprivate_LIB_SRCS}) +add_library(dolphinprivate ${dolphinprivate_LIB_SRCS}) + +generate_export_header(dolphinprivate BASE_NAME libdolphinprivate + EXPORT_FILE_NAME libdolphin_export.h) target_link_libraries( - dolphinprivate - ${KDE4_KFILE_LIBS} - konq - ${KDE4_KNEWSTUFF3_LIBS} + dolphinprivate PUBLIC + KF5::KDELibs4Support + KF5::Konq + KF5::NewStuff ) -if(HAVE_NEPOMUK) +if(HAVE_BALOO) target_link_libraries( - dolphinprivate - ${NEPOMUK_CORE_LIBRARY} - ${NEPOMUK_WIDGETS_LIBRARY} - ${SOPRANO_LIBRARIES} + dolphinprivate PUBLIC + KF5::FileMetaData + KF5::Baloo + KF5::BalooNaturalQueryParser + KF5::BalooWidgets ) endif() @@ -133,43 +116,45 @@ if(X11_Xrender_FOUND) target_link_libraries(dolphinprivate ${X11_Xrender_LIB}) endif(X11_Xrender_FOUND) -target_link_libraries(dolphinprivate ${KDE4_PLASMA_LIBS}) +set_target_properties(dolphinprivate PROPERTIES + VERSION ${DOLPHINPRIVATE_VERSION_STRING} + SOVERSION ${DOLPHINPRIVATE_SOVERSION} +) -set_target_properties(dolphinprivate PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) -install(TARGETS dolphinprivate ${INSTALL_TARGETS_DEFAULT_ARGS}) +install(TARGETS dolphinprivate ${KF5_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}) +add_library(dolphinpart MODULE ${dolphinpart_SRCS}) -target_link_libraries(dolphinpart dolphinprivate konq ${KDE4_KPARTS_LIBS} ${KDE4_KFILE_LIBS}) +target_link_libraries(dolphinpart + dolphinprivate + KF5::Konq + KF5::KDELibs4Support +) install(TARGETS dolphinpart DESTINATION ${PLUGIN_INSTALL_DIR}) -install(FILES dolphinpart.rc DESTINATION ${DATA_INSTALL_DIR}/dolphinpart) -install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) +install(FILES dolphinpart.rc DESTINATION ${CMAKE_INSTALL_KXMLGUI5DIR}/dolphinpart) +install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR}) install(FILES views/versioncontrol/fileviewversioncontrolplugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR}) ########################################## set(dolphin_SRCS - dolphinapplication.cpp dolphindockwidget.cpp dolphinmainwindow.cpp - dolphinnewfilemenu.cpp dolphinviewcontainer.cpp dolphincontextmenu.cpp + dolphintabbar.cpp + dolphinrecenttabsmenu.cpp + dolphintabpage.cpp + dolphintabwidget.cpp filterbar/filterbar.cpp main.cpp panels/information/filemetadataconfigurationdialog.cpp @@ -191,7 +176,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 @@ -211,11 +195,15 @@ set(dolphin_SRCS settings/viewmodes/viewmodesettings.cpp settings/viewmodes/viewsettingstab.cpp statusbar/dolphinstatusbar.cpp + statusbar/mountpointobserver.cpp + statusbar/mountpointobservercache.cpp + statusbar/spaceinfotoolsmenu.cpp + statusbar/spaceinfoobserver.cpp statusbar/statusbarspaceinfo.cpp views/zoomlevelinfo.cpp ) -kde4_add_kcfg_files(dolphin_SRCS +kconfig_add_kcfg_files(dolphin_SRCS GENERATE_MOC panels/folders/dolphin_folderspanelsettings.kcfgc panels/information/dolphin_informationpanelsettings.kcfgc panels/places/dolphin_placespanelsettings.kcfgc @@ -229,41 +217,39 @@ kde4_add_kcfg_files(dolphin_SRCS if(NOT WIN32) set(dolphin_SRCS ${dolphin_SRCS} panels/terminal/terminalpanel.cpp) -endif(NOT WIN32) +endif() + +# TODO Does anything replace kde4_add_app_icon ? +#kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-file-manager.png") -kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-file-manager.png") +kf5_add_kdeinit_executable(dolphin ${dolphin_SRCS}) -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 + KF5::Konq dolphinprivate - knewstuff3 - ${KDE4_SOLID_LIBS} - ${KDE4_PHONON_LIBS} + KF5::NewStuff + KF5::Parts + KF5::KCMUtils + KF5::Solid + KF5::KIOFileWidgets + Phonon::phonon4qt5 + KF5::KDELibs4Support + KF5::I18n + KF5::CoreAddons + KF5::DBusAddons ) -if(HAVE_NEPOMUK) - target_link_libraries(kdeinit_dolphin - ${NEPOMUK_CORE_LIBRARY} - ${NEPOMUK_WIDGETS_LIBRARY} - ${SOPRANO_LIBRARIES} - ) -endif() - -if (KActivities_FOUND) +if (KF5Activities_FOUND) target_link_libraries( kdeinit_dolphin - ${KACTIVITIES_LIBRARY} + KF5::Activities ) -endif (KActivities_FOUND) +endif() -install(TARGETS kdeinit_dolphin ${INSTALL_TARGETS_DEFAULT_ARGS}) -install(TARGETS dolphin ${INSTALL_TARGETS_DEFAULT_ARGS}) +install(TARGETS kdeinit_dolphin ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) +install(TARGETS dolphin ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) ########################################## @@ -296,7 +282,7 @@ set(kcm_dolphingeneral_PART_SRCS settings/serviceitemdelegate.cpp settings/servicemodel.cpp) -kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS +kconfig_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS settings/dolphin_compactmodesettings.kcfgc settings/dolphin_directoryviewpropertysettings.kcfgc settings/dolphin_detailsmodesettings.kcfgc @@ -305,48 +291,34 @@ kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS settings/dolphin_versioncontrolsettings.kcfgc ) -kde4_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS +kconfig_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS settings/dolphin_generalsettings.kcfgc) -kde4_add_kcfg_files(kcm_dolphinservices_PART_SRCS +kconfig_add_kcfg_files(kcm_dolphinservices_PART_SRCS settings/dolphin_generalsettings.kcfgc settings/dolphin_versioncontrolsettings.kcfgc) -kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS +kconfig_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} ${KDE4_KNEWSTUFF3_LIBRARY} dolphinprivate) -target_link_libraries(kcm_dolphingeneral ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} dolphinprivate) -if(HAVE_NEPOMUK) - 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() +add_library(kcm_dolphinviewmodes MODULE ${kcm_dolphinviewmodes_PART_SRCS}) +add_library(kcm_dolphinnavigation MODULE ${kcm_dolphinnavigation_PART_SRCS}) +add_library(kcm_dolphinservices MODULE ${kcm_dolphinservices_PART_SRCS}) +add_library(kcm_dolphingeneral MODULE ${kcm_dolphingeneral_PART_SRCS}) + +target_link_libraries(kcm_dolphinviewmodes KF5::KDELibs4Support dolphinprivate) +target_link_libraries(kcm_dolphinnavigation KF5::KDELibs4Support dolphinprivate) +target_link_libraries(kcm_dolphinservices KF5::KDELibs4Support dolphinprivate) +target_link_libraries(kcm_dolphingeneral KF5::KDELibs4Support dolphinprivate) 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} ) -######################################### - -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( PROGRAMS dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) +install( PROGRAMS org.kde.dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) install( FILES settings/dolphin_directoryviewpropertysettings.kcfg settings/dolphin_generalsettings.kcfg settings/dolphin_compactmodesettings.kcfg @@ -354,8 +326,8 @@ install( FILES settings/dolphin_directoryviewpropertysettings.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 dolphinui.rc DESTINATION ${CMAKE_INSTALL_KXMLGUI5DIR}/dolphin ) +install( FILES dolphin.appdata.xml DESTINATION ${SHARE_INSTALL_PREFIX}/appdata ) install( FILES settings/kcm/kcmdolphinviewmodes.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) install( FILES settings/kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} ) @@ -365,3 +337,7 @@ install( FILES settings/services/servicemenu.knsrc DESTINATION ${CONFIG_INSTALL_ install( PROGRAMS settings/services/servicemenuinstallation DESTINATION ${BIN_INSTALL_DIR} ) install( PROGRAMS settings/services/servicemenudeinstallation DESTINATION ${BIN_INSTALL_DIR} ) +if(BUILD_TESTING) + find_package(Qt5Test ${QT_MIN_VERSION} CONFIG REQUIRED) + add_subdirectory(tests) +endif()