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