]> cloud.milkyroute.net Git - dolphin.git/blob - src/CMakeLists.txt
Better fix for compilation without Nepomuk - like Sebastian noted SDO is being search...
[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 if(Nepomuk_FOUND)
186 include(SopranoAddOntology)
187 soprano_add_ontology(dolphin_SRCS "${SHAREDDESKTOPONTOLOGIES_ROOT_DIR}/nie/nfo.trig" "NFO" "Nepomuk::Vocabulary" "trig")
188 endif(Nepomuk_FOUND)
189
190 if(NOT WIN32)
191 set(dolphin_SRCS ${dolphin_SRCS} panels/terminal/terminalpanel.cpp)
192 endif(NOT WIN32)
193
194 qt4_add_dbus_adaptor(dolphin_SRCS
195 org.kde.dolphin.Application.xml
196 dolphinapplication.h DolphinApplication)
197 qt4_add_dbus_adaptor(dolphin_SRCS
198 org.kde.dolphin.MainWindow.xml
199 dolphinmainwindow.h DolphinMainWindow)
200
201 kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-file-manager.png")
202
203 kde4_add_executable(dolphin ${dolphin_SRCS})
204
205 target_link_libraries(dolphin
206 ${KDE4_KDEPRINT_LIBS}
207 ${KDE4_KFILE_LIBS}
208 ${KDE4_KUTILS_LIBRARY}
209 konq
210 dolphinprivate
211 knewstuff3
212 ${KDE4_PHONON_LIBS}
213 )
214
215 if (Nepomuk_FOUND)
216 target_link_libraries(dolphin
217 ${NEPOMUK_LIBRARIES}
218 ${SOPRANO_LIBRARIES}
219 ${NEPOMUK_QUERY_LIBRARIES}
220 )
221 endif (Nepomuk_FOUND)
222
223 install(TARGETS dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
224
225 ##########################################
226
227 set(kcm_dolphinviewmodes_PART_SRCS
228 kcm/kcmdolphinviewmodes.cpp
229 pixmapviewer.cpp
230 settings/columnviewsettingspage.cpp
231 settings/detailsviewsettingspage.cpp
232 settings/dolphinfontrequester.cpp
233 settings/iconsizegroupbox.cpp
234 settings/iconsviewsettingspage.cpp
235 settings/viewsettingspagebase.cpp
236 zoomlevelinfo.cpp)
237
238 set(kcm_dolphinnavigation_PART_SRCS
239 kcm/kcmdolphinnavigation.cpp
240 settings/navigationsettingspage.cpp
241 settings/settingspagebase.cpp)
242
243 set(kcm_dolphinservices_PART_SRCS
244 kcm/kcmdolphinservices.cpp
245 settings/servicessettingspage.cpp
246 settings/settingspagebase.cpp)
247
248 set(kcm_dolphingeneral_PART_SRCS
249 kcm/kcmdolphingeneral.cpp
250 panels/information/kmetadataconfigurationdialog.cpp
251 panels/information/kmetadatawidget.cpp
252 settings/behaviorsettingspage.cpp
253 settings/previewssettingspage.cpp
254 settings/contextmenusettingspage.cpp
255 settings/settingspagebase.cpp)
256 if (Nepomuk_FOUND)
257 set(kcm_dolphingeneral_PART_SRCS
258 ${kcm_dolphingeneral_PART_SRCS}
259 panels/information/kcommentwidget.cpp
260 panels/information/kedittagsdialog.cpp
261 panels/information/kloadmetadatathread.cpp
262 panels/information/nepomukmassupdatejob.cpp
263 panels/information/ktaggingwidget.cpp
264 )
265 endif (Nepomuk_FOUND)
266
267 kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS
268 settings/dolphin_columnmodesettings.kcfgc
269 settings/dolphin_directoryviewpropertysettings.kcfgc
270 settings/dolphin_detailsmodesettings.kcfgc
271 settings/dolphin_iconsmodesettings.kcfgc
272 settings/dolphin_generalsettings.kcfgc
273 settings/dolphin_versioncontrolsettings.kcfgc
274 )
275
276 kde4_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS
277 settings/dolphin_generalsettings.kcfgc)
278
279 kde4_add_kcfg_files(kcm_dolphinservices_PART_SRCS
280 settings/dolphin_generalsettings.kcfgc)
281
282 kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS
283 settings/dolphin_generalsettings.kcfgc)
284
285 kde4_add_plugin(kcm_dolphinviewmodes ${kcm_dolphinviewmodes_PART_SRCS})
286 kde4_add_plugin(kcm_dolphinnavigation ${kcm_dolphinnavigation_PART_SRCS})
287 kde4_add_plugin(kcm_dolphinservices ${kcm_dolphinservices_PART_SRCS})
288 kde4_add_plugin(kcm_dolphingeneral ${kcm_dolphingeneral_PART_SRCS})
289
290 target_link_libraries(kcm_dolphinviewmodes ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
291 target_link_libraries(kcm_dolphinnavigation ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
292 target_link_libraries(kcm_dolphinservices ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KNEWSTUFF3_LIBRARY} dolphinprivate)
293 target_link_libraries(kcm_dolphingeneral ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} dolphinprivate)
294 if (Nepomuk_FOUND)
295 target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_LIBRARIES})
296 target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_LIBRARIES})
297 target_link_libraries(kcm_dolphinservices ${NEPOMUK_LIBRARIES})
298 target_link_libraries(kcm_dolphingeneral ${NEPOMUK_LIBRARIES})
299 endif (Nepomuk_FOUND)
300
301 install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} )
302 install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} )
303 install(TARGETS kcm_dolphinservices DESTINATION ${PLUGIN_INSTALL_DIR} )
304 install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} )
305
306 ########### install files ###############
307
308 install( FILES dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
309 install( FILES settings/dolphin_directoryviewpropertysettings.kcfg
310 settings/dolphin_generalsettings.kcfg
311 settings/dolphin_columnmodesettings.kcfg
312 settings/dolphin_iconsmodesettings.kcfg
313 settings/dolphin_detailsmodesettings.kcfg
314 settings/dolphin_versioncontrolsettings.kcfg
315 DESTINATION ${KCFG_INSTALL_DIR} )
316 install( FILES dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin )
317 install( FILES search/dolphinsearchcommands.desktop DESTINATION ${DATA_INSTALL_DIR}/dolphin )
318 install( FILES kcm/kcmdolphinviewmodes.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
319 install( FILES kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
320 install( FILES kcm/kcmdolphinservices.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
321 install( FILES kcm/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
322 install( FILES khns/servicemenu.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
323 install( PROGRAMS khns/servicemenuinstallation DESTINATION ${BIN_INSTALL_DIR} )
324 install( PROGRAMS khns/servicemenudeinstallation DESTINATION ${BIN_INSTALL_DIR} )