##########################################
-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(
dolphinvcs PUBLIC
- Qt5::Widgets
+ Qt${QT_MAJOR_VERSION}::Widgets
)
set_target_properties(dolphinvcs PROPERTIES
- VERSION ${DOLPHINVCS_VERSION_STRING}
+ VERSION ${DOLPHINVCS_VERSION}
SOVERSION ${DOLPHINVCS_SOVERSION}
EXPORT_NAME DolphinVcs
)
install(TARGETS dolphinvcs EXPORT DolphinVcsTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
-install(FILES views/versioncontrol/fileviewversioncontrolplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR})
+install(FILES views/versioncontrol/fileviewversioncontrolplugin.desktop DESTINATION ${KDE_INSTALL_KSERVICETYPESDIR})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR} COMPONENT Devel)
install(FILES ${dolphinvcs_LIB_HEADERS} DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin" COMPONENT Devel)
########### next target ###############
-set(dolphinprivate_LIB_SRCS
+add_library(dolphinprivate SHARED)
+
+target_sources(dolphinprivate PRIVATE
kitemviews/kfileitemlistview.cpp
kitemviews/kfileitemlistwidget.cpp
kitemviews/kfileitemmodel.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
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
- DESCRIPTION "dolphin" EXPORT 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_versioncontrolsettings.kcfgc
)
-add_library(dolphinprivate ${dolphinprivate_LIB_SRCS})
generate_export_header(dolphinprivate BASE_NAME dolphin)
target_link_libraries(
dolphinprivate PUBLIC
dolphinvcs
- Qt5::Concurrent
- Qt5::Gui
+ Qt${QT_MAJOR_VERSION}::Concurrent
+ Qt${QT_MAJOR_VERSION}::Gui
KF5::I18n
KF5::IconThemes
KF5::KIOCore
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)
+
+target_sources(dolphinpart PRIVATE
+ dolphinpart.cpp
+ dolphinpart_ext.cpp
+ dolphindebug.cpp
-qt5_add_resources(dolphinpart_SRCS dolphinpart.qrc)
+ dolphinpart.qrc
+)
-add_library(dolphinpart MODULE ${dolphinpart_SRCS})
kcoreaddons_desktop_to_json(dolphinpart ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop)
target_link_libraries(dolphinpart
install(TARGETS dolphinpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/parts)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR})
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop DESTINATION ${KDE_INSTALL_KSERVICESDIR})
##########################################
-set(dolphinstatic_SRCS
+add_library(dolphinstatic STATIC)
+
+target_sources(dolphinstatic PRIVATE
dolphinbookmarkhandler.cpp
dolphindockwidget.cpp
dolphinmainwindow.cpp
trash/dolphintrash.cpp
filterbar/filterbar.cpp
panels/places/placespanel.cpp
- panels/places/placesitem.cpp
- panels/places/placesitemlistgroupheader.cpp
- panels/places/placesitemlistwidget.cpp
- panels/places/placesitemmodel.cpp
- panels/places/placesitemsignalhandler.cpp
- panels/places/placesview.cpp
panels/panel.cpp
panels/folders/foldersitemlistwidget.cpp
panels/folders/treeviewcontextmenu.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
)
+kconfig_add_kcfg_files(dolphinstatic GENERATE_MOC
+ settings/dolphin_generalsettings.kcfgc
+)
-qt5_add_resources(dolphinstatic_SRCS dolphin.qrc)
-
-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)
+qt_generate_dbus_interface(${CMAKE_CURRENT_SOURCE_DIR}/dolphinmainwindow.h org.kde.DolphinMainWindow.xml)
+qt_add_dbus_adaptor(dolphin_dbus_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.DolphinMainWindow.xml dolphinmainwindow.h DolphinMainWindow)
+qt_add_dbus_interface(dolphin_dbus_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.DolphinMainWindow.xml dolphinmainwindowinterface)
+qt_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
KF5::KCMUtils
KF5::DBusAddons
KF5::Notifications
- Phonon::phonon4qt5
+ Phonon::phonon4qt${QT_MAJOR_VERSION}
)
if (HAVE_KACTIVITIES)
)
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})
-
-add_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(dolphin
PRIVATE
##########################################
-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_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_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_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_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/kcmdolphingeneral.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} )
+ install( FILES settings/kcm/kcmdolphinviewmodes.desktop DESTINATION ${KDE_INSTALL_KSERVICESDIR} )
+ install( FILES settings/kcm/kcmdolphinnavigation.desktop DESTINATION ${KDE_INSTALL_KSERVICESDIR} )
+ install( FILES settings/kcm/kcmdolphingeneral.desktop DESTINATION ${KDE_INSTALL_KSERVICESDIR} )
- install(TARGETS kcm_dolphinviewmodes DESTINATION ${KDE_INSTALL_PLUGINDIR} )
- install(TARGETS kcm_dolphinnavigation 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)
DESTINATION ${KDE_INSTALL_KCFGDIR} )
if(BUILD_TESTING)
- find_package(Qt5Test ${QT_MIN_VERSION} CONFIG REQUIRED)
add_subdirectory(tests)
endif()