]> cloud.milkyroute.net Git - dolphin.git/blob - src/CMakeLists.txt
Port away from deprecated KIconEffect API
[dolphin.git] / src / CMakeLists.txt
1 include(ECMAddAppIcon)
2
3 set(ADMIN_WORKER_PACKAGE_NAME "kio-admin")
4 set(FILELIGHT_PACKAGE_NAME "filelight")
5 configure_file(config-dolphin.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-dolphin.h)
6
7 add_definitions(
8 -DTRANSLATION_DOMAIN=\"dolphin\"
9 )
10 remove_definitions(
11 -DQT_NO_CAST_FROM_BYTEARRAY
12 -DQT_NO_CAST_FROM_ASCII
13 -DQT_NO_CAST_TO_ASCII
14 )
15
16 ##########################################
17
18 add_library(dolphinvcs SHARED)
19
20 target_sources(dolphinvcs PRIVATE
21 views/versioncontrol/kversioncontrolplugin.cpp
22 )
23
24 generate_export_header(dolphinvcs BASE_NAME dolphinvcs)
25
26 target_link_libraries(
27 dolphinvcs PUBLIC
28 Qt6::Widgets
29 )
30
31 set_target_properties(dolphinvcs PROPERTIES
32 VERSION ${DOLPHINVCS_VERSION}
33 SOVERSION ${DOLPHINVCS_SOVERSION}
34 EXPORT_NAME DolphinVcs
35 )
36
37 ecm_generate_headers(dolphinvcs_LIB_HEADERS
38 HEADER_NAMES
39 KVersionControlPlugin
40
41 RELATIVE "views/versioncontrol"
42 REQUIRED_HEADERS dolphinvcs_LIB_HEADERS
43 )
44 target_include_directories(dolphinvcs INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}>")
45
46 install(TARGETS dolphinvcs EXPORT DolphinVcsTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
47
48 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR} COMPONENT Devel)
49 install(FILES ${dolphinvcs_LIB_HEADERS} DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin" COMPONENT Devel)
50
51 ########### next target ###############
52
53 add_library(dolphinprivate SHARED)
54
55 target_sources(dolphinprivate PRIVATE
56 kitemviews/kfileitemlistview.cpp
57 kitemviews/kfileitemlistwidget.cpp
58 kitemviews/kfileitemlisttostring.cpp
59 kitemviews/kfileitemmodel.cpp
60 kitemviews/kfileitemmodelrolesupdater.cpp
61 kitemviews/kitemlistcontainer.cpp
62 kitemviews/kitemlistcontroller.cpp
63 kitemviews/kitemlistgroupheader.cpp
64 kitemviews/kitemlistheader.cpp
65 kitemviews/kitemlistselectionmanager.cpp
66 kitemviews/kitemliststyleoption.cpp
67 kitemviews/kitemlistview.cpp
68 kitemviews/kitemlistviewaccessible.cpp
69 kitemviews/kitemlistwidget.cpp
70 kitemviews/kitemmodelbase.cpp
71 kitemviews/kitemset.cpp
72 kitemviews/kstandarditemlistgroupheader.cpp
73 kitemviews/kstandarditemlistwidget.cpp
74 kitemviews/kstandarditemlistview.cpp
75 kitemviews/private/kdirectorycontentscounter.cpp
76 kitemviews/private/kdirectorycontentscounterworker.cpp
77 kitemviews/private/kfileitemclipboard.cpp
78 kitemviews/private/kfileitemmodelfilter.cpp
79 kitemviews/private/kitemlistheaderwidget.cpp
80 kitemviews/private/kitemlistkeyboardsearchmanager.cpp
81 kitemviews/private/kitemlistroleeditor.cpp
82 kitemviews/private/kitemlistrubberband.cpp
83 kitemviews/private/kitemlistselectiontoggle.cpp
84 kitemviews/private/kitemlistsizehintresolver.cpp
85 kitemviews/private/kitemlistsmoothscroller.cpp
86 kitemviews/private/kitemlistviewanimation.cpp
87 kitemviews/private/kitemlistviewlayouter.cpp
88 kitemviews/private/kitemviewsutils.cpp
89 kitemviews/private/kpixmapmodifier.cpp
90 settings/applyviewpropsjob.cpp
91 settings/viewmodes/viewmodesettings.cpp
92 settings/viewpropertiesdialog.cpp
93 settings/viewpropsprogressinfo.cpp
94 selectionmode/actiontexthelper.cpp
95 views/dolphinfileitemlistwidget.cpp
96 views/dolphinitemlistview.cpp
97 views/dolphinnewfilemenuobserver.cpp
98 views/dolphinremoteencoding.cpp
99 views/dolphinview.cpp
100 views/dolphinviewactionhandler.cpp
101 views/draganddrophelper.cpp
102 views/versioncontrol/updateitemstatesthread.cpp
103 views/versioncontrol/versioncontrolobserver.cpp
104 views/viewmodecontroller.cpp
105 views/viewproperties.cpp
106 views/zoomlevelinfo.cpp
107 dolphinremoveaction.cpp
108 middleclickactioneventfilter.cpp
109 dolphinnewfilemenu.cpp
110
111 kitemviews/kfileitemlistview.h
112 kitemviews/kfileitemlistwidget.h
113 kitemviews/kfileitemlisttostring.h
114 kitemviews/kfileitemmodel.h
115 kitemviews/kfileitemmodelrolesupdater.h
116 kitemviews/kitemlistcontainer.h
117 kitemviews/kitemlistcontroller.h
118 kitemviews/kitemlistgroupheader.h
119 kitemviews/kitemlistheader.h
120 kitemviews/kitemlistselectionmanager.h
121 kitemviews/kitemliststyleoption.h
122 kitemviews/kitemlistview.h
123 kitemviews/kitemlistviewaccessible.h
124 kitemviews/kitemlistwidget.h
125 kitemviews/kitemmodelbase.h
126 kitemviews/kitemset.h
127 kitemviews/kstandarditemlistgroupheader.h
128 kitemviews/kstandarditemlistwidget.h
129 kitemviews/kstandarditemlistview.h
130 kitemviews/private/kdirectorycontentscounter.h
131 kitemviews/private/kdirectorycontentscounterworker.h
132 kitemviews/private/kfileitemclipboard.h
133 kitemviews/private/kfileitemmodelfilter.h
134 kitemviews/private/kitemlistheaderwidget.h
135 kitemviews/private/kitemlistkeyboardsearchmanager.h
136 kitemviews/private/kitemlistroleeditor.h
137 kitemviews/private/kitemlistrubberband.h
138 kitemviews/private/kitemlistselectiontoggle.h
139 kitemviews/private/kitemlistsizehintresolver.h
140 kitemviews/private/kitemlistsmoothscroller.h
141 kitemviews/private/kitemlistviewanimation.h
142 kitemviews/private/kitemlistviewlayouter.h
143 kitemviews/private/kpixmapmodifier.h
144 settings/applyviewpropsjob.h
145 settings/viewmodes/viewmodesettings.h
146 settings/viewpropertiesdialog.h
147 settings/viewpropsprogressinfo.h
148 selectionmode/actiontexthelper.h
149 views/dolphinfileitemlistwidget.h
150 views/dolphinitemlistview.h
151 views/dolphinnewfilemenuobserver.h
152 views/dolphinremoteencoding.h
153 views/dolphinview.h
154 views/dolphinviewactionhandler.h
155 views/draganddrophelper.h
156 views/versioncontrol/updateitemstatesthread.h
157 views/versioncontrol/versioncontrolobserver.h
158 views/viewmodecontroller.h
159 views/viewproperties.h
160 views/zoomlevelinfo.h
161 dolphinremoveaction.h
162 middleclickactioneventfilter.h
163 dolphinnewfilemenu.h
164 )
165
166 ecm_qt_declare_logging_category(dolphinprivate
167 HEADER dolphindebug.h
168 IDENTIFIER DolphinDebug
169 CATEGORY_NAME org.kde.dolphin
170 DESCRIPTION "dolphin"
171 EXPORT DOLPHIN
172 )
173
174 if(HAVE_BALOO)
175 target_sources(dolphinprivate PRIVATE
176 views/tooltips/dolphinfilemetadatawidget.cpp
177 views/tooltips/tooltipmanager.cpp
178 kitemviews/private/kbaloorolesprovider.cpp
179 views/tooltips/dolphinfilemetadatawidget.h
180 views/tooltips/tooltipmanager.h
181 kitemviews/private/kbaloorolesprovider.h
182 )
183 endif()
184
185 kconfig_add_kcfg_files(dolphinprivate
186 settings/dolphin_compactmodesettings.kcfgc
187 settings/dolphin_directoryviewpropertysettings.kcfgc
188 settings/dolphin_detailsmodesettings.kcfgc
189 settings/dolphin_iconsmodesettings.kcfgc
190 settings/dolphin_contentdisplaysettings.kcfgc
191 settings/dolphin_generalsettings.kcfgc
192 settings/dolphin_contextmenusettings.kcfgc
193 settings/dolphin_versioncontrolsettings.kcfgc
194 GENERATE_MOC
195 )
196
197 generate_export_header(dolphinprivate BASE_NAME dolphin)
198
199 target_link_libraries(
200 dolphinprivate PUBLIC
201 dolphinvcs
202 Qt6::Concurrent
203 Qt6::DBus
204 Qt6::Gui
205 KF6::I18n
206 KF6::IconThemes
207 KF6::KIOCore
208 KF6::KIOWidgets
209 KF6::KIOFileWidgets
210 KF6::Completion
211 KF6::TextWidgets
212 KF6::ConfigCore
213 KF6::NewStuffWidgets # KNSWidgets::Button
214 KF6::Parts
215 KF6::WindowSystem
216 KF6::WidgetsAddons
217 KF6::Codecs
218 KF6::KCMUtils
219
220 ${FTS_LIB}
221 )
222
223 if(HAVE_BALOO)
224 target_link_libraries(
225 dolphinprivate PUBLIC
226 KF6::FileMetaData
227 KF6::Baloo
228 KF6::BalooWidgets
229 )
230 endif()
231
232 set_target_properties(dolphinprivate PROPERTIES
233 VERSION ${DOLPHINPRIVATE_VERSION}
234 SOVERSION ${DOLPHINPRIVATE_SOVERSION}
235 )
236
237 install(TARGETS dolphinprivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP)
238 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphin_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR} COMPONENT Devel)
239
240 ##########################################
241 configure_file(dolphinpart.json.in ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.json @ONLY)
242
243 add_library(dolphinpart MODULE)
244
245 target_sources(dolphinpart PRIVATE
246 dolphinpart.cpp
247 dolphinpart_ext.cpp
248 dolphindebug.cpp
249 dolphinpart.h
250 dolphinpart_ext.h
251 dolphindebug.h
252
253 dolphinpart.qrc
254 )
255
256 target_link_libraries(dolphinpart
257 dolphinprivate
258 )
259
260 install(TARGETS dolphinpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf6/parts)
261 install(FILES dolphinpartactions.desktop DESTINATION "${KDE_INSTALL_DATADIR}/dolphin/")
262
263 ##########################################
264
265 add_library(dolphinstatic STATIC)
266
267 target_sources(dolphinstatic PRIVATE
268 admin/bar.cpp
269 admin/workerintegration.cpp
270 animatedheightwidget.cpp
271 disabledactionnotifier.cpp
272 dolphinbookmarkhandler.cpp
273 dolphindockwidget.cpp
274 dolphinmainwindow.cpp
275 dolphinviewcontainer.cpp
276 dolphincontextmenu.cpp
277 dolphinnavigatorswidgetaction.cpp
278 dolphintabbar.cpp
279 dolphinpackageinstaller.cpp
280 dolphinplacesmodelsingleton.cpp
281 dolphinrecenttabsmenu.cpp
282 dolphintabpage.cpp
283 dolphintabwidget.cpp
284 dolphinurlnavigator.cpp
285 dolphinurlnavigatorscontroller.cpp
286 trash/dolphintrash.cpp
287 filterbar/filterbar.cpp
288 kitemviews/kfileitemlisttostring.cpp
289 panels/places/placespanel.cpp
290 panels/panel.cpp
291 panels/folders/foldersitemlistwidget.cpp
292 panels/folders/treeviewcontextmenu.cpp
293 panels/folders/folderspanel.cpp
294 panels/terminal/terminalpanel.cpp
295 search/dolphinfacetswidget.cpp
296 search/dolphinquery.cpp
297 search/dolphinsearchbox.cpp
298 selectionmode/actiontexthelper.cpp
299 selectionmode/actionwithwidget.cpp
300 selectionmode/backgroundcolorhelper.cpp
301 selectionmode/bottombar.cpp
302 selectionmode/bottombarcontentscontainer.cpp
303 selectionmode/topbar.cpp
304 settings/interface/folderstabssettingspage.cpp
305 settings/interface/statusandlocationbarssettingspage.cpp
306 settings/interface/confirmationssettingspage.cpp
307 settings/interface/interfacesettingspage.cpp
308 settings/interface/previewssettingspage.cpp
309 settings/dolphinsettingsdialog.cpp
310 settings/contextmenu/contextmenusettingspage.cpp
311 settings/settingspagebase.cpp
312 settings/servicemodel.cpp
313 settings/trash/trashsettingspage.cpp
314 settings/viewmodes/dolphinfontrequester.cpp
315 settings/viewmodes/viewsettingspage.cpp
316 settings/viewmodes/viewmodesettings.cpp
317 settings/viewmodes/viewsettingstab.cpp
318 settings/viewmodes/contentdisplaytab.cpp
319 settings/viewmodes/generalviewsettingspage.cpp
320 statusbar/dolphinstatusbar.cpp
321 statusbar/mountpointobserver.cpp
322 statusbar/mountpointobservercache.cpp
323 statusbar/spaceinfoobserver.cpp
324 statusbar/statusbarspaceinfo.cpp
325 views/zoomlevelinfo.cpp
326 dolphindebug.cpp
327 global.cpp
328 dolphin.qrc
329
330 admin/bar.h
331 admin/workerintegration.h
332 animatedheightwidget.h
333 dolphinbookmarkhandler.h
334 dolphindockwidget.h
335 dolphinmainwindow.h
336 dolphinviewcontainer.h
337 dolphincontextmenu.h
338 dolphinnavigatorswidgetaction.h
339 dolphintabbar.h
340 dolphinpackageinstaller.h
341 dolphinplacesmodelsingleton.h
342 dolphinrecenttabsmenu.h
343 dolphintabpage.h
344 dolphintabwidget.h
345 dolphinurlnavigator.h
346 dolphinurlnavigatorscontroller.h
347 trash/dolphintrash.h
348 filterbar/filterbar.h
349 kitemviews/kfileitemlisttostring.h
350 panels/places/placespanel.h
351 panels/panel.h
352 panels/folders/foldersitemlistwidget.h
353 panels/folders/treeviewcontextmenu.h
354 panels/folders/folderspanel.h
355 panels/terminal/terminalpanel.h
356 search/dolphinfacetswidget.h
357 search/dolphinquery.h
358 search/dolphinsearchbox.h
359 selectionmode/actiontexthelper.h
360 selectionmode/actionwithwidget.h
361 selectionmode/backgroundcolorhelper.h
362 selectionmode/bottombar.h
363 selectionmode/bottombarcontentscontainer.h
364 selectionmode/topbar.h
365 settings/interface/folderstabssettingspage.h
366 settings/interface/statusandlocationbarssettingspage.h
367 settings/interface/confirmationssettingspage.h
368 settings/interface/interfacesettingspage.h
369 settings/interface/previewssettingspage.h
370 settings/dolphinsettingsdialog.h
371 settings/contextmenu/contextmenusettingspage.h
372 settings/settingspagebase.h
373 settings/servicemodel.h
374 settings/trash/trashsettingspage.h
375 settings/viewmodes/dolphinfontrequester.h
376 settings/viewmodes/viewsettingspage.h
377 settings/viewmodes/viewmodesettings.h
378 settings/viewmodes/viewsettingstab.h
379 settings/viewmodes/contentdisplaytab.h
380 settings/viewmodes/generalviewsettingspage.h
381 statusbar/dolphinstatusbar.h
382 statusbar/mountpointobserver.h
383 statusbar/mountpointobservercache.h
384 statusbar/spaceinfoobserver.h
385 statusbar/statusbarspaceinfo.h
386 views/zoomlevelinfo.h
387 dolphindebug.h
388 global.h
389 )
390
391 if(HAVE_BALOO)
392 target_sources(dolphinstatic PRIVATE
393 panels/information/informationpanel.cpp
394 panels/information/informationpanelcontent.cpp
395 panels/information/pixmapviewer.cpp
396 panels/information/phononwidget.cpp
397 settings/interface/panelsettingspage.cpp
398 panels/information/informationpanel.h
399 panels/information/informationpanelcontent.h
400 panels/information/pixmapviewer.h
401 panels/information/phononwidget.h
402 settings/interface/panelsettingspage.h
403 )
404
405 kconfig_add_kcfg_files(dolphinstatic
406 panels/information/dolphin_informationpanelsettings.kcfgc
407 )
408
409 endif()
410
411 if(HAVE_KUSERFEEDBACK)
412 target_sources(dolphinstatic PRIVATE
413 userfeedback/dolphinfeedbackprovider.cpp
414 userfeedback/settingsdatasource.cpp
415 userfeedback/placesdatasource.cpp
416 settings/userfeedback/userfeedbacksettingspage.cpp
417 userfeedback/dolphinfeedbackprovider.h
418 userfeedback/settingsdatasource.h
419 userfeedback/placesdatasource.h
420 settings/userfeedback/userfeedbacksettingspage.h
421 )
422 endif()
423
424 kconfig_add_kcfg_files(dolphinstatic
425 panels/folders/dolphin_folderspanelsettings.kcfgc
426 panels/places/dolphin_placespanelsettings.kcfgc
427 settings/dolphin_compactmodesettings.kcfgc
428 settings/dolphin_detailsmodesettings.kcfgc
429 settings/dolphin_contextmenusettings.kcfgc
430 settings/dolphin_iconsmodesettings.kcfgc
431 settings/dolphin_contentdisplaysettings.kcfgc
432 search/dolphin_searchsettings.kcfgc
433 settings/dolphin_versioncontrolsettings.kcfgc
434 )
435 kconfig_add_kcfg_files(dolphinstatic GENERATE_MOC
436 settings/dolphin_generalsettings.kcfgc
437 )
438
439 qt_generate_dbus_interface(${CMAKE_CURRENT_SOURCE_DIR}/dolphinmainwindow.h org.kde.DolphinMainWindow.xml)
440 qt_add_dbus_adaptor(dolphin_dbus_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.DolphinMainWindow.xml dolphinmainwindow.h DolphinMainWindow)
441 qt_add_dbus_interface(dolphin_dbus_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.DolphinMainWindow.xml dolphinmainwindowinterface)
442 qt_add_dbus_interface(dolphin_dbus_SRCS panels/terminal/org.kde.KIOFuse.VFS.xml kiofuse_interface)
443
444 target_sources(dolphinstatic PRIVATE
445 ${dolphin_dbus_SRCS}
446 )
447
448 target_include_directories(dolphinstatic SYSTEM PRIVATE ${PHONON_INCLUDES})
449 target_link_libraries(dolphinstatic
450 dolphinprivate
451 KF6::CoreAddons
452 KF6::KCMUtils
453 KF6::DBusAddons
454 KF6::Notifications
455 KF6::BookmarksWidgets
456 Phonon::phonon4qt6
457 )
458
459 if(HAVE_PACKAGEKIT)
460 target_link_libraries(
461 dolphinstatic
462 PK::packagekitqt6
463 )
464 endif()
465
466 if (HAVE_KUSERFEEDBACK)
467 target_link_libraries(
468 dolphinstatic
469 KF6::UserFeedbackCore
470 KF6::UserFeedbackWidgets
471 )
472 endif()
473
474 add_executable(dolphin)
475
476 target_sources(dolphin PRIVATE
477 dbusinterface.cpp
478 dbusinterface.h
479 main.cpp
480 )
481
482 if(FLATPAK)
483 target_compile_definitions(dolphin PRIVATE FLATPAK)
484 endif()
485
486 # Install the icons on macOS and Windows
487 ecm_add_app_icon(dolphin
488 ICONS
489 icons/128-apps-org.kde.dolphin.png
490 icons/16-apps-org.kde.dolphin.png
491 icons/22-apps-org.kde.dolphin.png
492 icons/32-apps-org.kde.dolphin.png
493 icons/48-apps-org.kde.dolphin.png
494 icons/64-apps-org.kde.dolphin.png
495 )
496
497 install(FILES icons/org.kde.dolphin.svg DESTINATION ${KDE_INSTALL_ICONDIR}/hicolor/scalable/apps)
498
499 target_link_libraries(dolphin
500 PRIVATE
501 dolphinprivate
502 dolphinstatic
503 KF6::Crash
504 )
505
506 if (HAVE_X11)
507 target_link_libraries(dolphin PRIVATE Qt::GuiPrivate)
508 endif()
509
510 include(DbusInterfaceMacros)
511
512 generate_and_install_dbus_interface(
513 dolphin
514 dbusinterface.h
515 org.freedesktop.FileManager1.xml
516 OPTIONS -a
517 )
518
519 install(TARGETS dolphin ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
520
521 ##########################################
522
523 if(NOT WIN32)
524 # The settings are still accessible from the hamburger menu
525 add_library(kcm_dolphinviewmodes MODULE)
526 add_library(kcm_dolphingeneral MODULE)
527
528 target_sources(kcm_dolphinviewmodes PRIVATE
529 settings/kcm/kcmdolphinviewmodes.cpp
530 settings/viewmodes/dolphinfontrequester.cpp
531 settings/viewmodes/viewmodesettings.cpp
532 settings/viewmodes/viewsettingstab.cpp
533 settings/settingspagebase.cpp
534 views/zoomlevelinfo.cpp
535 settings/kcm/kcmdolphinviewmodes.h
536 settings/viewmodes/dolphinfontrequester.h
537 settings/viewmodes/viewmodesettings.h
538 settings/viewmodes/viewsettingstab.h
539 views/zoomlevelinfo.h)
540
541 target_sources(kcm_dolphingeneral PRIVATE
542 settings/kcm/kcmdolphingeneral.cpp
543 settings/interface/folderstabssettingspage.cpp
544 settings/interface/statusandlocationbarssettingspage.cpp
545 settings/interface/previewssettingspage.cpp
546 settings/interface/confirmationssettingspage.cpp
547 settings/settingspagebase.cpp
548 settings/servicemodel.cpp
549 dolphin_generalsettings.cpp
550 dolphindebug.cpp
551 dolphinmainwindowinterface.cpp
552 views/viewproperties.cpp
553 dolphin_directoryviewpropertysettings.cpp
554 global.cpp
555 settings/kcm/kcmdolphingeneral.h
556 settings/interface/folderstabssettingspage.h
557 settings/interface/statusandlocationbarssettingspage.h
558 settings/interface/previewssettingspage.h
559 settings/interface/confirmationssettingspage.h
560 settings/settingspagebase.h
561 settings/servicemodel.h
562 dolphin_generalsettings.h
563 dolphindebug.h
564 dolphinmainwindowinterface.h
565 views/viewproperties.h
566 dolphin_directoryviewpropertysettings.h
567 global.h
568 )
569
570 kconfig_add_kcfg_files(kcm_dolphinviewmodes
571 settings/dolphin_compactmodesettings.kcfgc
572 settings/dolphin_directoryviewpropertysettings.kcfgc
573 settings/dolphin_detailsmodesettings.kcfgc
574 settings/dolphin_iconsmodesettings.kcfgc
575 settings/dolphin_contentdisplaysettings.kcfgc
576 settings/dolphin_generalsettings.kcfgc
577 settings/dolphin_versioncontrolsettings.kcfgc
578 GENERATE_MOC
579 )
580
581 kconfig_add_kcfg_files(kcm_dolphingeneral
582 settings/dolphin_generalsettings.kcfgc
583 GENERATE_MOC
584 )
585
586 target_link_libraries(kcm_dolphinviewmodes dolphinprivate)
587 target_link_libraries(kcm_dolphingeneral dolphinprivate)
588
589 install( FILES org.kde.dolphin.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} )
590
591 install(TARGETS kcm_dolphinviewmodes DESTINATION ${KDE_INSTALL_PLUGINDIR}/dolphin/kcms )
592 install(TARGETS kcm_dolphingeneral DESTINATION ${KDE_INSTALL_PLUGINDIR}/dolphin/kcms )
593 endif()
594
595 if(NOT WIN32)
596 add_subdirectory(settings/contextmenu/servicemenuinstaller)
597 install( FILES settings/contextmenu/servicemenu.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR} )
598 endif()
599
600 ########### install files ###############
601
602 install( PROGRAMS org.kde.dolphin.desktop DESTINATION ${KDE_INSTALL_APPDIR} )
603
604 install( DIRECTORY DESTINATION "${KDE_INSTALL_FULL_DATAROOTDIR}/kglobalaccel" )
605
606 install(
607 CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink \"${KDE_INSTALL_FULL_APPDIR}/org.kde.dolphin.desktop\" \"\$ENV{DESTDIR}${KDE_INSTALL_FULL_DATAROOTDIR}/kglobalaccel/org.kde.dolphin.desktop\")"
608 )
609
610 install( FILES settings/dolphin_directoryviewpropertysettings.kcfg
611 settings/dolphin_generalsettings.kcfg
612 settings/dolphin_contextmenusettings.kcfg
613 settings/dolphin_compactmodesettings.kcfg
614 settings/dolphin_iconsmodesettings.kcfg
615 settings/dolphin_detailsmodesettings.kcfg
616 settings/dolphin_contentdisplaysettings.kcfg
617 settings/dolphin_versioncontrolsettings.kcfg
618 DESTINATION ${KDE_INSTALL_KCFGDIR} )
619
620 install( FILES settings/dolphin_detailsmodesettings.upd
621 settings/dolphin_directorysizemode.upd
622 settings/dolphin_directorysizemode.py
623 DESTINATION ${KDE_INSTALL_KCONFUPDATEDIR} )
624
625 if(BUILD_TESTING)
626 add_subdirectory(tests)
627 endif()
628
629 # movetonewfolderitemaction plugin
630
631 kcoreaddons_add_plugin(movetonewfolderitemaction
632 SOURCES itemactions/movetonewfolderitemaction.cpp itemactions/movetonewfolderitemaction.h
633 INSTALL_NAMESPACE "kf6/kfileitemaction")
634
635 target_link_libraries(movetonewfolderitemaction
636 KF6::I18n
637 KF6::KIOCore
638 KF6::KIOWidgets
639 KF6::KIOFileWidgets)