)
remove_definitions(
-DQT_NO_CAST_FROM_BYTEARRAY
- -DQT_NO_SIGNALS_SLOTS_KEYWORDS
-DQT_NO_CAST_FROM_ASCII
-DQT_NO_CAST_TO_ASCII
- -DQT_NO_FOREACH
- -DQT_NO_KEYWORDS
)
##########################################
-set(dolphinvcs_LIB_SRCS
+add_library(dolphinvcs SHARED)
+
+target_sources(dolphinvcs PRIVATE
views/versioncontrol/kversioncontrolplugin.cpp
)
-add_library(dolphinvcs ${dolphinvcs_LIB_SRCS})
generate_export_header(dolphinvcs BASE_NAME dolphinvcs)
target_link_libraries(
)
set_target_properties(dolphinvcs PROPERTIES
- VERSION ${DOLPHINVCS_VERSION_STRING}
+ VERSION ${DOLPHINVCS_VERSION}
SOVERSION ${DOLPHINVCS_SOVERSION}
EXPORT_NAME DolphinVcs
)
########### next target ###############
-set(dolphinprivate_LIB_SRCS
+add_library(dolphinprivate SHARED)
+
+target_sources(dolphinprivate PRIVATE
kitemviews/kfileitemlistview.cpp
kitemviews/kfileitemlistwidget.cpp
kitemviews/kfileitemmodel.cpp
kitemviews/private/kdirectorycontentscounter.cpp
kitemviews/private/kdirectorycontentscounterworker.cpp
kitemviews/private/kfileitemclipboard.cpp
- kitemviews/private/kfileitemmodeldirlister.cpp
kitemviews/private/kfileitemmodelfilter.cpp
kitemviews/private/kitemlistheaderwidget.cpp
kitemviews/private/kitemlistkeyboardsearchmanager.cpp
dolphinnewfilemenu.cpp
)
-ecm_qt_declare_logging_category(dolphinprivate_LIB_SRCS HEADER dolphindebug.h IDENTIFIER DolphinDebug CATEGORY_NAME org.kde.dolphin)
+ecm_qt_declare_logging_category(dolphinprivate
+ HEADER dolphindebug.h
+ IDENTIFIER DolphinDebug
+ CATEGORY_NAME org.kde.dolphin
+ DESCRIPTION "dolphin"
+ EXPORT DOLPHIN
+)
if(HAVE_BALOO)
- set(dolphinprivate_LIB_SRCS
- ${dolphinprivate_LIB_SRCS}
+ target_sources(dolphinprivate PRIVATE
views/tooltips/dolphinfilemetadatawidget.cpp
views/tooltips/tooltipmanager.cpp
kitemviews/private/kbaloorolesprovider.cpp
)
endif()
-kconfig_add_kcfg_files(dolphinprivate_LIB_SRCS GENERATE_MOC
+kconfig_add_kcfg_files(dolphinprivate
settings/dolphin_compactmodesettings.kcfgc
settings/dolphin_directoryviewpropertysettings.kcfgc
settings/dolphin_detailsmodesettings.kcfgc
settings/dolphin_iconsmodesettings.kcfgc
settings/dolphin_generalsettings.kcfgc
+ settings/dolphin_contextmenusettings.kcfgc
settings/dolphin_versioncontrolsettings.kcfgc
)
-add_library(dolphinprivate ${dolphinprivate_LIB_SRCS})
generate_export_header(dolphinprivate BASE_NAME dolphin)
target_link_libraries(
endif()
set_target_properties(dolphinprivate PROPERTIES
- VERSION ${DOLPHINPRIVATE_VERSION_STRING}
+ VERSION ${DOLPHINPRIVATE_VERSION}
SOVERSION ${DOLPHINPRIVATE_SOVERSION}
)
##########################################
configure_file(dolphinpart.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop @ONLY)
-set(dolphinpart_SRCS
- dolphinpart.cpp
- dolphinpart_ext.cpp
- dolphindebug.cpp
-)
+add_library(dolphinpart MODULE)
-qt5_add_resources(dolphinpart_SRCS dolphinpart.qrc)
+target_sources(dolphinpart PRIVATE
+ dolphinpart.cpp
+ dolphinpart_ext.cpp
+ dolphindebug.cpp
+
+ dolphinpart.qrc
+)
-add_library(dolphinpart MODULE ${dolphinpart_SRCS})
kcoreaddons_desktop_to_json(dolphinpart ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop)
target_link_libraries(dolphinpart
##########################################
-set(dolphinstatic_SRCS
+add_library(dolphinstatic STATIC)
+
+target_sources(dolphinstatic PRIVATE
dolphinbookmarkhandler.cpp
dolphindockwidget.cpp
dolphinmainwindow.cpp
settings/general/statusbarsettingspage.cpp
settings/dolphinsettingsdialog.cpp
settings/navigation/navigationsettingspage.cpp
- settings/services/servicessettingspage.cpp
+ settings/contextmenu/contextmenusettingspage.cpp
settings/settingspagebase.cpp
settings/serviceitemdelegate.cpp
settings/servicemodel.cpp
views/zoomlevelinfo.cpp
dolphindebug.cpp
global.cpp
+ dolphin.qrc
)
if(HAVE_BALOO)
- set(dolphinstatic_SRCS
- ${dolphinstatic_SRCS}
+ target_sources(dolphinstatic PRIVATE
panels/information/informationpanel.cpp
panels/information/informationpanelcontent.cpp
panels/information/pixmapviewer.cpp
endif()
if(HAVE_KUSERFEEDBACK)
- set(dolphinstatic_SRCS
- ${dolphinstatic_SRCS}
+ target_sources(dolphinstatic PRIVATE
userfeedback/dolphinfeedbackprovider.cpp
userfeedback/settingsdatasource.cpp
userfeedback/placesdatasource.cpp
)
endif()
-kconfig_add_kcfg_files(dolphinstatic_SRCS GENERATE_MOC
+kconfig_add_kcfg_files(dolphinstatic
panels/folders/dolphin_folderspanelsettings.kcfgc
panels/information/dolphin_informationpanelsettings.kcfgc
panels/places/dolphin_placespanelsettings.kcfgc
settings/dolphin_compactmodesettings.kcfgc
settings/dolphin_detailsmodesettings.kcfgc
- settings/dolphin_generalsettings.kcfgc
+ settings/dolphin_contextmenusettings.kcfgc
settings/dolphin_iconsmodesettings.kcfgc
search/dolphin_searchsettings.kcfgc
settings/dolphin_versioncontrolsettings.kcfgc
)
-
-qt5_add_resources(dolphinstatic_SRCS dolphin.qrc)
+kconfig_add_kcfg_files(dolphinstatic GENERATE_MOC
+ settings/dolphin_generalsettings.kcfgc
+)
qt5_generate_dbus_interface(${CMAKE_CURRENT_SOURCE_DIR}/dolphinmainwindow.h org.kde.DolphinMainWindow.xml)
-qt5_add_dbus_adaptor(dolphinstatic_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.DolphinMainWindow.xml dolphinmainwindow.h DolphinMainWindow)
-qt5_add_dbus_interface(dolphinstatic_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.DolphinMainWindow.xml dolphinmainwindowinterface)
-qt5_add_dbus_interface(dolphinstatic_SRCS panels/terminal/org.kde.KIOFuse.VFS.xml kiofuse_interface)
+qt5_add_dbus_adaptor(dolphin_dbus_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.DolphinMainWindow.xml dolphinmainwindow.h DolphinMainWindow)
+qt5_add_dbus_interface(dolphin_dbus_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.DolphinMainWindow.xml dolphinmainwindowinterface)
+qt5_add_dbus_interface(dolphin_dbus_SRCS panels/terminal/org.kde.KIOFuse.VFS.xml kiofuse_interface)
-add_library(dolphinstatic STATIC ${dolphinstatic_SRCS})
+target_sources(dolphinstatic PRIVATE
+ ${dolphin_dbus_SRCS}
+)
target_include_directories(dolphinstatic SYSTEM PRIVATE ${PHONON_INCLUDES})
target_link_libraries(dolphinstatic
)
endif()
-set(dolphin_SRCS
+add_executable(dolphin)
+
+target_sources(dolphin PRIVATE
dbusinterface.cpp
main.cpp
)
+if(FLATPAK)
+ target_compile_definitions(dolphin PRIVATE FLATPAK)
+endif()
+
# Sets the icon on Windows and OSX
file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/*system-file-manager.png")
-ecm_add_app_icon(dolphin_SRCS ICONS ${ICONS_SRCS})
-
-kf5_add_kdeinit_executable(dolphin ${dolphin_SRCS})
-
+ecm_add_app_icon(dolphin_APPICON_SRCS ICONS ${ICONS_SRCS})
+# ecm_add_app_icon 5.83 will take target as arg, use that once it is min req.
+target_sources(dolphin PRIVATE
+ ${dolphin_APPICON_SRCS}
+)
-target_link_libraries(kdeinit_dolphin PUBLIC
- dolphinprivate
+target_link_libraries(dolphin
PRIVATE
+ dolphinprivate
dolphinstatic
KF5::Crash
)
include(DbusInterfaceMacros)
generate_and_install_dbus_interface(
- kdeinit_dolphin
+ dolphin
dbusinterface.h
org.freedesktop.FileManager1.xml
OPTIONS -a
)
-install(TARGETS kdeinit_dolphin ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
install(TARGETS dolphin ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
##########################################
-set(kcm_dolphinviewmodes_PART_SRCS
- settings/kcm/kcmdolphinviewmodes.cpp
- settings/viewmodes/dolphinfontrequester.cpp
- settings/viewmodes/viewmodesettings.cpp
- settings/viewmodes/viewsettingstab.cpp
- views/zoomlevelinfo.cpp)
-
-set(kcm_dolphinnavigation_PART_SRCS
- settings/kcm/kcmdolphinnavigation.cpp
- settings/navigation/navigationsettingspage.cpp
- settings/settingspagebase.cpp)
-
-set(kcm_dolphinservices_PART_SRCS
- settings/kcm/kcmdolphinservices.cpp
- settings/services/servicessettingspage.cpp
- settings/settingspagebase.cpp
- settings/serviceitemdelegate.cpp
- settings/servicemodel.cpp)
-
-set(kcm_dolphingeneral_PART_SRCS
- settings/kcm/kcmdolphingeneral.cpp
- settings/general/behaviorsettingspage.cpp
- settings/general/previewssettingspage.cpp
- settings/general/configurepreviewplugindialog.cpp
- settings/general/confirmationssettingspage.cpp
- settings/settingspagebase.cpp
- settings/serviceitemdelegate.cpp
- settings/servicemodel.cpp)
-
-kconfig_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS
- settings/dolphin_compactmodesettings.kcfgc
- settings/dolphin_directoryviewpropertysettings.kcfgc
- settings/dolphin_detailsmodesettings.kcfgc
- settings/dolphin_iconsmodesettings.kcfgc
- settings/dolphin_generalsettings.kcfgc
- settings/dolphin_versioncontrolsettings.kcfgc
-)
-
-kconfig_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS
- settings/dolphin_generalsettings.kcfgc)
-
-kconfig_add_kcfg_files(kcm_dolphinservices_PART_SRCS
- settings/dolphin_generalsettings.kcfgc
- settings/dolphin_versioncontrolsettings.kcfgc)
-
-kconfig_add_kcfg_files(kcm_dolphingeneral_PART_SRCS
- settings/dolphin_generalsettings.kcfgc)
-
-
if(NOT WIN32)
# The settings are still accessible from the hamburger menu
- 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})
+ add_library(kcm_dolphinviewmodes)
+ kcoreaddons_desktop_to_json(kcm_dolphinviewmodes settings/kcm/kcmdolphinviewmodes.desktop)
+ add_library(kcm_dolphinnavigation)
+ kcoreaddons_desktop_to_json(kcm_dolphinnavigation settings/kcm/kcmdolphinnavigation.desktop)
+ add_library(kcm_dolphingeneral)
+ kcoreaddons_desktop_to_json(kcm_dolphingeneral settings/kcm/kcmdolphingeneral.desktop)
+
+ target_sources(kcm_dolphinviewmodes PRIVATE
+ settings/kcm/kcmdolphinviewmodes.cpp
+ settings/viewmodes/dolphinfontrequester.cpp
+ settings/viewmodes/viewmodesettings.cpp
+ settings/viewmodes/viewsettingstab.cpp
+ views/zoomlevelinfo.cpp)
+
+ target_sources(kcm_dolphinnavigation PRIVATE
+ settings/kcm/kcmdolphinnavigation.cpp
+ settings/navigation/navigationsettingspage.cpp
+ settings/settingspagebase.cpp)
+
+ target_sources(kcm_dolphingeneral PRIVATE
+ settings/kcm/kcmdolphingeneral.cpp
+ settings/general/behaviorsettingspage.cpp
+ settings/general/previewssettingspage.cpp
+ settings/general/configurepreviewplugindialog.cpp
+ settings/general/confirmationssettingspage.cpp
+ settings/settingspagebase.cpp
+ settings/serviceitemdelegate.cpp
+ settings/servicemodel.cpp)
+
+ kconfig_add_kcfg_files(kcm_dolphinviewmodes
+ settings/dolphin_compactmodesettings.kcfgc
+ settings/dolphin_directoryviewpropertysettings.kcfgc
+ settings/dolphin_detailsmodesettings.kcfgc
+ settings/dolphin_iconsmodesettings.kcfgc
+ settings/dolphin_generalsettings.kcfgc
+ settings/dolphin_versioncontrolsettings.kcfgc
+ )
+
+ kconfig_add_kcfg_files(kcm_dolphinnavigation
+ settings/dolphin_generalsettings.kcfgc)
+
+ kconfig_add_kcfg_files(kcm_dolphingeneral
+ settings/dolphin_generalsettings.kcfgc)
target_link_libraries(kcm_dolphinviewmodes dolphinprivate)
target_link_libraries(kcm_dolphinnavigation dolphinprivate)
- target_link_libraries(kcm_dolphinservices dolphinprivate)
target_link_libraries(kcm_dolphingeneral dolphinprivate)
install( FILES org.kde.dolphin.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} )
install( FILES settings/kcm/kcmdolphinviewmodes.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} )
install( FILES settings/kcm/kcmdolphinnavigation.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} )
- install( FILES settings/kcm/kcmdolphinservices.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} )
install( FILES settings/kcm/kcmdolphingeneral.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} )
- install(TARGETS kcm_dolphinviewmodes DESTINATION ${KDE_INSTALL_PLUGINDIR} )
- install(TARGETS kcm_dolphinnavigation DESTINATION ${KDE_INSTALL_PLUGINDIR} )
- install(TARGETS kcm_dolphinservices DESTINATION ${KDE_INSTALL_PLUGINDIR} )
- install(TARGETS kcm_dolphingeneral DESTINATION ${KDE_INSTALL_PLUGINDIR} )
+ install(TARGETS kcm_dolphinviewmodes DESTINATION ${KDE_INSTALL_PLUGINDIR}/dolphin/kcms )
+ install(TARGETS kcm_dolphinnavigation DESTINATION ${KDE_INSTALL_PLUGINDIR}/dolphin/kcms )
+ install(TARGETS kcm_dolphingeneral DESTINATION ${KDE_INSTALL_PLUGINDIR}/dolphin/kcms )
endif()
if(NOT WIN32)
- add_subdirectory(settings/services/servicemenuinstaller)
- install( FILES settings/services/servicemenu.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} )
+ add_subdirectory(settings/contextmenu/servicemenuinstaller)
+ install( FILES settings/contextmenu/servicemenu.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} )
endif()
########### install files ###############
install( FILES settings/dolphin_directoryviewpropertysettings.kcfg
settings/dolphin_generalsettings.kcfg
+ settings/dolphin_contextmenusettings.kcfg
settings/dolphin_compactmodesettings.kcfg
settings/dolphin_iconsmodesettings.kcfg
settings/dolphin_detailsmodesettings.kcfg