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