]> cloud.milkyroute.net Git - dolphin.git/blob - src/CMakeLists.txt
Allow to disable version control plugins. It's too late already for providing a UI...
[dolphin.git] / src / CMakeLists.txt
1
2 find_package(QImageBlitz REQUIRED)
3
4 macro_optional_find_package(Nepomuk)
5 macro_log_feature(Nepomuk_FOUND "Nepomuk" "Nepomuk" "http://www.kde.org" FALSE "" "For adding desktop-wide tagging support to dolphin")
6 macro_bool_to_01(Nepomuk_FOUND HAVE_NEPOMUK)
7 configure_file(config-nepomuk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h )
8
9 include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ${QIMAGEBLITZ_INCLUDES} )
10
11 if (Nepomuk_FOUND)
12 # Yes, Soprano includes is what we need here
13 include_directories( ${SOPRANO_INCLUDE_DIR} ${NEPOMUK_INCLUDE_DIR} )
14 endif (Nepomuk_FOUND)
15
16 ########### next target ###############
17
18 set(dolphinprivate_LIB_SRCS
19 dolphincontroller.cpp
20 dolphindetailsview.cpp
21 dolphiniconsview.cpp
22 dolphincolumnview.cpp
23 dolphincolumnviewcontainer.cpp
24 dolphindirlister.cpp
25 dolphinfileitemdelegate.cpp
26 dolphinmodel.cpp
27 dolphinnewmenuobserver.cpp
28 dolphinsortfilterproxymodel.cpp
29 dolphincategorydrawer.cpp
30 dolphinview.cpp
31 dolphinviewactionhandler.cpp
32 dolphinviewautoscroller.cpp
33 dolphinremoteencoding.cpp
34 dolphindetailsviewexpander.cpp
35 draganddrophelper.cpp
36 folderexpander.cpp
37 renamedialog.cpp
38 selectiontoggle.cpp
39 selectionmanager.cpp
40 settings/additionalinfodialog.cpp
41 settings/applyviewpropsjob.cpp
42 settings/dolphinsettings.cpp
43 settings/viewpropertiesdialog.cpp
44 settings/viewpropsprogressinfo.cpp
45 panels/information/kmetadatawidget.cpp
46 panels/information/kmetadataconfigurationdialog.cpp
47 tooltips/ktooltip.cpp
48 tooltips/ktooltipwindow.cpp
49 tooltips/tooltipmanager.cpp
50 versioncontrol/updateitemstatesthread.cpp
51 versioncontrol/versioncontrolobserver.cpp
52 viewextensionsfactory.cpp
53 viewproperties.cpp
54 zoomlevelinfo.cpp
55 )
56
57 if(Nepomuk_FOUND)
58 set(dolphinprivate_LIB_SRCS
59 ${dolphinprivate_LIB_SRCS}
60 panels/information/kcommentwidget.cpp
61 panels/information/kedittagsdialog.cpp
62 panels/information/kloadmetadatathread.cpp
63 panels/information/nepomukmassupdatejob.cpp
64 panels/information/ktaggingwidget.cpp
65 )
66 endif(Nepomuk_FOUND)
67
68 kde4_add_kcfg_files(dolphinprivate_LIB_SRCS
69 settings/dolphin_columnmodesettings.kcfgc
70 settings/dolphin_directoryviewpropertysettings.kcfgc
71 settings/dolphin_detailsmodesettings.kcfgc
72 settings/dolphin_iconsmodesettings.kcfgc
73 settings/dolphin_generalsettings.kcfgc
74 settings/dolphin_versioncontrolsettings.kcfgc
75 )
76
77 kde4_add_library(dolphinprivate SHARED ${dolphinprivate_LIB_SRCS})
78
79 target_link_libraries(dolphinprivate ${KDE4_KFILE_LIBS} konq ${KDE4_KNEWSTUFF3_LIBS} ${QIMAGEBLITZ_LIBRARIES} ${X11_LIBRARIES})
80 if(X11_Xrender_FOUND)
81 target_link_libraries(dolphinprivate ${X11_Xrender_LIB} )
82 endif(X11_Xrender_FOUND)
83 if (Nepomuk_FOUND)
84 target_link_libraries(dolphinprivate ${NEPOMUK_LIBRARIES} ${NEPOMUK_QUERY_LIBRARIES} ${SOPRANO_LIBRARIES})
85 endif (Nepomuk_FOUND)
86
87
88 set_target_properties(dolphinprivate PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
89 install(TARGETS dolphinprivate ${INSTALL_TARGETS_DEFAULT_ARGS})
90
91
92 ##########################################
93
94 set(dolphinpart_SRCS
95 dolphinpart.cpp
96 )
97
98 set(fileviewsvnplugin_SRCS
99 versioncontrol/fileviewsvnplugin.cpp
100 )
101
102 kde4_add_plugin(dolphinpart ${dolphinpart_SRCS})
103 kde4_add_plugin(fileviewsvnplugin ${fileviewsvnplugin_SRCS})
104
105 target_link_libraries(dolphinpart dolphinprivate konq ${KDE4_KPARTS_LIBS} ${KDE4_KFILE_LIBS})
106 target_link_libraries(fileviewsvnplugin ${KDE4_KIO_LIBS} konq)
107
108 install(TARGETS dolphinpart DESTINATION ${PLUGIN_INSTALL_DIR})
109 install(TARGETS fileviewsvnplugin DESTINATION ${PLUGIN_INSTALL_DIR})
110
111 install(FILES dolphinpart.rc DESTINATION ${DATA_INSTALL_DIR}/dolphinpart)
112 install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
113 install(FILES versioncontrol/fileviewsvnplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR})
114 install(FILES versioncontrol/fileviewversioncontrolplugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
115
116 ##########################################
117
118 set(dolphin_SRCS
119 dolphinapplication.cpp
120 dolphinmainwindow.cpp
121 dolphinnewmenu.cpp
122 dolphinviewcontainer.cpp
123 dolphindirlister.cpp
124 dolphincontextmenu.cpp
125 filterbar.cpp
126 main.cpp
127 pixmapviewer.cpp
128 panels/information/informationpanel.cpp
129 panels/information/informationpanelcontent.cpp
130 panels/information/kmetadatawidget.cpp
131 panels/information/kmetadataconfigurationdialog.cpp
132 panels/information/phononwidget.cpp
133 panels/folders/ktreeview.cpp
134 panels/places/placespanel.cpp
135 panels/panel.cpp
136 panels/folders/treeviewcontextmenu.cpp
137 panels/folders/folderspanel.cpp
138 panels/folders/paneltreeview.cpp
139 search/dolphinsearchbox.cpp
140 settings/behaviorsettingspage.cpp
141 settings/columnviewsettingspage.cpp
142 settings/contextmenusettingspage.cpp
143 settings/dolphinfontrequester.cpp
144 settings/dolphinsettingsdialog.cpp
145 settings/detailsviewsettingspage.cpp
146 settings/generalsettingspage.cpp
147 settings/iconsizegroupbox.cpp
148 settings/iconsviewsettingspage.cpp
149 settings/navigationsettingspage.cpp
150 settings/previewssettingspage.cpp
151 settings/servicessettingspage.cpp
152 settings/settingspagebase.cpp
153 settings/startupsettingspage.cpp
154 settings/statusbarsettingspage.cpp
155 settings/trashsettingspage.cpp
156 settings/viewsettingspage.cpp
157 settings/viewsettingspagebase.cpp
158 statusbar/dolphinstatusbar.cpp
159 statusbar/statusbarspaceinfo.cpp
160 statusbar/statusbarmessagelabel.cpp
161 zoomlevelinfo.cpp
162 )
163
164 kde4_add_kcfg_files(dolphin_SRCS
165 panels/folders/dolphin_folderspanelsettings.kcfgc
166 panels/information/dolphin_informationpanelsettings.kcfgc
167 search/dolphin_searchsettings.kcfgc
168 )
169
170 if(Nepomuk_FOUND)
171 set(dolphin_SRCS
172 ${dolphin_SRCS}
173 panels/information/kcommentwidget.cpp
174 panels/information/kedittagsdialog.cpp
175 panels/information/kloadmetadatathread.cpp
176 panels/information/nepomukmassupdatejob.cpp
177 panels/information/ktaggingwidget.cpp
178 search/dolphinsearchoptionsconfigurator.cpp
179 search/searchcriteriondescription.cpp
180 search/searchcriterionselector.cpp
181 search/searchcriterionvalue.cpp
182 )
183 endif(Nepomuk_FOUND)
184
185 soprano_add_ontology(dolphin_SRCS "${SHAREDDESKTOPONTOLOGIES_ROOT_DIR}/nie/nfo.trig" "NFO" "Nepomuk::Vocabulary" "trig")
186
187 if(NOT WIN32)
188 set(dolphin_SRCS ${dolphin_SRCS} panels/terminal/terminalpanel.cpp)
189 endif(NOT WIN32)
190
191 qt4_add_dbus_adaptor(dolphin_SRCS
192 org.kde.dolphin.Application.xml
193 dolphinapplication.h DolphinApplication)
194 qt4_add_dbus_adaptor(dolphin_SRCS
195 org.kde.dolphin.MainWindow.xml
196 dolphinmainwindow.h DolphinMainWindow)
197
198 kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-file-manager.png")
199
200 kde4_add_executable(dolphin ${dolphin_SRCS})
201
202 target_link_libraries(dolphin
203 ${KDE4_KDEPRINT_LIBS}
204 ${KDE4_KFILE_LIBS}
205 ${KDE4_KUTILS_LIBRARY}
206 konq
207 dolphinprivate
208 knewstuff3
209 ${KDE4_PHONON_LIBS}
210 )
211
212 if (Nepomuk_FOUND)
213 target_link_libraries(dolphin
214 ${NEPOMUK_LIBRARIES}
215 ${SOPRANO_LIBRARIES}
216 ${NEPOMUK_QUERY_LIBRARIES}
217 )
218 endif (Nepomuk_FOUND)
219
220 install(TARGETS dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
221
222 ##########################################
223
224 set(kcm_dolphinviewmodes_PART_SRCS
225 kcm/kcmdolphinviewmodes.cpp
226 pixmapviewer.cpp
227 settings/columnviewsettingspage.cpp
228 settings/detailsviewsettingspage.cpp
229 settings/dolphinfontrequester.cpp
230 settings/iconsizegroupbox.cpp
231 settings/iconsviewsettingspage.cpp
232 settings/viewsettingspagebase.cpp
233 zoomlevelinfo.cpp)
234
235 set(kcm_dolphinnavigation_PART_SRCS
236 kcm/kcmdolphinnavigation.cpp
237 settings/navigationsettingspage.cpp
238 settings/settingspagebase.cpp)
239
240 set(kcm_dolphinservices_PART_SRCS
241 kcm/kcmdolphinservices.cpp
242 settings/servicessettingspage.cpp
243 settings/settingspagebase.cpp)
244
245 set(kcm_dolphingeneral_PART_SRCS
246 kcm/kcmdolphingeneral.cpp
247 panels/information/kmetadataconfigurationdialog.cpp
248 panels/information/kmetadatawidget.cpp
249 settings/behaviorsettingspage.cpp
250 settings/previewssettingspage.cpp
251 settings/contextmenusettingspage.cpp
252 settings/settingspagebase.cpp)
253 if (Nepomuk_FOUND)
254 set(kcm_dolphingeneral_PART_SRCS
255 ${kcm_dolphingeneral_PART_SRCS}
256 panels/information/kcommentwidget.cpp
257 panels/information/kedittagsdialog.cpp
258 panels/information/kloadmetadatathread.cpp
259 panels/information/nepomukmassupdatejob.cpp
260 panels/information/ktaggingwidget.cpp
261 )
262 endif (Nepomuk_FOUND)
263
264 kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS
265 settings/dolphin_columnmodesettings.kcfgc
266 settings/dolphin_directoryviewpropertysettings.kcfgc
267 settings/dolphin_detailsmodesettings.kcfgc
268 settings/dolphin_iconsmodesettings.kcfgc
269 settings/dolphin_generalsettings.kcfgc
270 settings/dolphin_versioncontrolsettings.kcfgc
271 )
272
273 kde4_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS
274 settings/dolphin_generalsettings.kcfgc)
275
276 kde4_add_kcfg_files(kcm_dolphinservices_PART_SRCS
277 settings/dolphin_generalsettings.kcfgc)
278
279 kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS
280 settings/dolphin_generalsettings.kcfgc)
281
282 kde4_add_plugin(kcm_dolphinviewmodes ${kcm_dolphinviewmodes_PART_SRCS})
283 kde4_add_plugin(kcm_dolphinnavigation ${kcm_dolphinnavigation_PART_SRCS})
284 kde4_add_plugin(kcm_dolphinservices ${kcm_dolphinservices_PART_SRCS})
285 kde4_add_plugin(kcm_dolphingeneral ${kcm_dolphingeneral_PART_SRCS})
286
287 target_link_libraries(kcm_dolphinviewmodes ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
288 target_link_libraries(kcm_dolphinnavigation ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
289 target_link_libraries(kcm_dolphinservices ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KNEWSTUFF3_LIBRARY} dolphinprivate)
290 target_link_libraries(kcm_dolphingeneral ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} dolphinprivate)
291 if (Nepomuk_FOUND)
292 target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_LIBRARIES})
293 target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_LIBRARIES})
294 target_link_libraries(kcm_dolphinservices ${NEPOMUK_LIBRARIES})
295 target_link_libraries(kcm_dolphingeneral ${NEPOMUK_LIBRARIES})
296 endif (Nepomuk_FOUND)
297
298 install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} )
299 install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} )
300 install(TARGETS kcm_dolphinservices DESTINATION ${PLUGIN_INSTALL_DIR} )
301 install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} )
302
303 ########### install files ###############
304
305 install( FILES dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
306 install( FILES settings/dolphin_directoryviewpropertysettings.kcfg
307 settings/dolphin_generalsettings.kcfg
308 settings/dolphin_columnmodesettings.kcfg
309 settings/dolphin_iconsmodesettings.kcfg
310 settings/dolphin_detailsmodesettings.kcfg
311 settings/dolphin_versioncontrolsettings.kcfg
312 DESTINATION ${KCFG_INSTALL_DIR} )
313 install( FILES dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin )
314 install( FILES search/dolphinsearchcommands.desktop DESTINATION ${DATA_INSTALL_DIR}/dolphin )
315 install( FILES kcm/kcmdolphinviewmodes.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
316 install( FILES kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
317 install( FILES kcm/kcmdolphinservices.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
318 install( FILES kcm/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
319 install( FILES khns/servicemenu.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
320 install( PROGRAMS khns/servicemenuinstallation DESTINATION ${BIN_INSTALL_DIR} )
321 install( PROGRAMS khns/servicemenudeinstallation DESTINATION ${BIN_INSTALL_DIR} )