]> cloud.milkyroute.net Git - dolphin.git/blob - src/CMakeLists.txt
welcome to the world of kdeinit applications
[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/kmetadataconfigurationdialog.cpp
46 panels/information/kmetadatamodel.cpp
47 panels/information/kmetadatawidget.cpp
48 panels/information/knfotranslator.cpp
49 tooltips/ktooltip.cpp
50 tooltips/ktooltipwindow.cpp
51 tooltips/tooltipmanager.cpp
52 versioncontrol/updateitemstatesthread.cpp
53 versioncontrol/versioncontrolobserver.cpp
54 viewextensionsfactory.cpp
55 viewproperties.cpp
56 zoomlevelinfo.cpp
57 )
58
59 if(Nepomuk_FOUND)
60 set(dolphinprivate_LIB_SRCS
61 ${dolphinprivate_LIB_SRCS}
62 panels/information/kcommentwidget.cpp
63 panels/information/kedittagsdialog.cpp
64 panels/information/kloadmetadatathread.cpp
65 panels/information/nepomukmassupdatejob.cpp
66 panels/information/ktaggingwidget.cpp
67 )
68 endif(Nepomuk_FOUND)
69
70 kde4_add_kcfg_files(dolphinprivate_LIB_SRCS
71 settings/dolphin_columnmodesettings.kcfgc
72 settings/dolphin_directoryviewpropertysettings.kcfgc
73 settings/dolphin_detailsmodesettings.kcfgc
74 settings/dolphin_iconsmodesettings.kcfgc
75 settings/dolphin_generalsettings.kcfgc
76 settings/dolphin_versioncontrolsettings.kcfgc
77 )
78
79 kde4_add_library(dolphinprivate SHARED ${dolphinprivate_LIB_SRCS})
80
81 target_link_libraries(dolphinprivate ${KDE4_KFILE_LIBS} konq ${KDE4_KNEWSTUFF3_LIBS} ${QIMAGEBLITZ_LIBRARIES})
82 if (Nepomuk_FOUND)
83 target_link_libraries(dolphinprivate ${NEPOMUK_LIBRARIES} ${NEPOMUK_QUERY_LIBRARIES} ${SOPRANO_LIBRARIES})
84 endif (Nepomuk_FOUND)
85
86
87 set_target_properties(dolphinprivate PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
88 install(TARGETS dolphinprivate ${INSTALL_TARGETS_DEFAULT_ARGS})
89
90
91 ##########################################
92
93 set(dolphinpart_SRCS
94 dolphinpart.cpp
95 )
96
97 set(fileviewsvnplugin_SRCS
98 versioncontrol/fileviewsvnplugin.cpp
99 )
100
101 kde4_add_plugin(dolphinpart ${dolphinpart_SRCS})
102 kde4_add_plugin(fileviewsvnplugin ${fileviewsvnplugin_SRCS})
103
104 target_link_libraries(dolphinpart dolphinprivate konq ${KDE4_KPARTS_LIBS} ${KDE4_KFILE_LIBS})
105 target_link_libraries(fileviewsvnplugin ${KDE4_KIO_LIBS} konq)
106
107 install(TARGETS dolphinpart DESTINATION ${PLUGIN_INSTALL_DIR})
108 install(TARGETS fileviewsvnplugin DESTINATION ${PLUGIN_INSTALL_DIR})
109
110 install(FILES dolphinpart.rc DESTINATION ${DATA_INSTALL_DIR}/dolphinpart)
111 install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
112 install(FILES versioncontrol/fileviewsvnplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR})
113 install(FILES versioncontrol/fileviewversioncontrolplugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
114
115 ##########################################
116
117 set(dolphin_SRCS
118 dolphinapplication.cpp
119 dolphinmainwindow.cpp
120 dolphinnewmenu.cpp
121 dolphinviewcontainer.cpp
122 dolphindirlister.cpp
123 dolphincontextmenu.cpp
124 filterbar.cpp
125 main.cpp
126 pixmapviewer.cpp
127 panels/information/informationpanel.cpp
128 panels/information/informationpanelcontent.cpp
129 panels/information/kmetadataconfigurationdialog.cpp
130 panels/information/kmetadatamodel.cpp
131 panels/information/kmetadatawidget.cpp
132 panels/information/knfotranslator.cpp
133 panels/information/phononwidget.cpp
134 panels/folders/ktreeview.cpp
135 panels/places/placespanel.cpp
136 panels/panel.cpp
137 panels/folders/treeviewcontextmenu.cpp
138 panels/folders/folderspanel.cpp
139 panels/folders/paneltreeview.cpp
140 search/dolphinsearchbox.cpp
141 search/searchoptiondialogbox.cpp
142 settings/behaviorsettingspage.cpp
143 settings/columnviewsettingspage.cpp
144 settings/contextmenusettingspage.cpp
145 settings/dolphinfontrequester.cpp
146 settings/dolphinsettingsdialog.cpp
147 settings/detailsviewsettingspage.cpp
148 settings/generalsettingspage.cpp
149 settings/iconsizegroupbox.cpp
150 settings/iconsviewsettingspage.cpp
151 settings/navigationsettingspage.cpp
152 settings/previewssettingspage.cpp
153 settings/servicessettingspage.cpp
154 settings/settingspagebase.cpp
155 settings/startupsettingspage.cpp
156 settings/statusbarsettingspage.cpp
157 settings/trashsettingspage.cpp
158 settings/viewsettingspage.cpp
159 settings/viewsettingspagebase.cpp
160 statusbar/dolphinstatusbar.cpp
161 statusbar/statusbarspaceinfo.cpp
162 statusbar/statusbarmessagelabel.cpp
163 zoomlevelinfo.cpp
164 )
165
166 kde4_add_kcfg_files(dolphin_SRCS
167 panels/folders/dolphin_folderspanelsettings.kcfgc
168 panels/information/dolphin_informationpanelsettings.kcfgc
169 search/dolphin_searchsettings.kcfgc
170 )
171
172 if(Nepomuk_FOUND)
173 set(dolphin_SRCS
174 ${dolphin_SRCS}
175 panels/information/kcommentwidget.cpp
176 panels/information/kedittagsdialog.cpp
177 panels/information/kloadmetadatathread.cpp
178 panels/information/nepomukmassupdatejob.cpp
179 panels/information/ktaggingwidget.cpp
180 search/dolphinsearchoptionsconfigurator.cpp
181 search/searchcriteriondescription.cpp
182 search/searchcriterionselector.cpp
183 search/searchcriterionvalue.cpp
184 )
185 endif(Nepomuk_FOUND)
186
187 if(Nepomuk_FOUND)
188 include(SopranoAddOntology)
189 soprano_add_ontology(dolphin_SRCS ${SHAREDDESKTOPONTOLOGIES_ROOT_DIR}/nie/nfo.trig "NFO" "Nepomuk::Vocabulary" "trig")
190 soprano_add_ontology(dolphin_SRCS ${SHAREDDESKTOPONTOLOGIES_ROOT_DIR}/nie/nie.trig "NIE" "Nepomuk::Vocabulary" "trig")
191 endif(Nepomuk_FOUND)
192
193 if(NOT WIN32)
194 set(dolphin_SRCS ${dolphin_SRCS} panels/terminal/terminalpanel.cpp)
195 endif(NOT WIN32)
196
197 qt4_add_dbus_adaptor(dolphin_SRCS
198 org.kde.dolphin.Application.xml
199 dolphinapplication.h DolphinApplication)
200 qt4_add_dbus_adaptor(dolphin_SRCS
201 org.kde.dolphin.MainWindow.xml
202 dolphinmainwindow.h DolphinMainWindow)
203
204 kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-file-manager.png")
205
206 kde4_add_kdeinit_executable(dolphin ${dolphin_SRCS})
207
208 target_link_libraries(kdeinit_dolphin
209 ${KDE4_KDEPRINT_LIBS}
210 ${KDE4_KFILE_LIBS}
211 ${KDE4_KUTILS_LIBRARY}
212 konq
213 dolphinprivate
214 knewstuff3
215 ${KDE4_PHONON_LIBS}
216 )
217
218 if (Nepomuk_FOUND)
219 target_link_libraries(kdeinit_dolphin
220 ${NEPOMUK_LIBRARIES}
221 ${SOPRANO_LIBRARIES}
222 ${NEPOMUK_QUERY_LIBRARIES}
223 )
224 endif (Nepomuk_FOUND)
225
226 install(TARGETS kdeinit_dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
227 install(TARGETS dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
228
229 ##########################################
230
231 set(kcm_dolphinviewmodes_PART_SRCS
232 kcm/kcmdolphinviewmodes.cpp
233 pixmapviewer.cpp
234 settings/columnviewsettingspage.cpp
235 settings/detailsviewsettingspage.cpp
236 settings/dolphinfontrequester.cpp
237 settings/iconsizegroupbox.cpp
238 settings/iconsviewsettingspage.cpp
239 settings/viewsettingspagebase.cpp
240 zoomlevelinfo.cpp)
241
242 set(kcm_dolphinnavigation_PART_SRCS
243 kcm/kcmdolphinnavigation.cpp
244 settings/navigationsettingspage.cpp
245 settings/settingspagebase.cpp)
246
247 set(kcm_dolphinservices_PART_SRCS
248 kcm/kcmdolphinservices.cpp
249 settings/servicessettingspage.cpp
250 settings/settingspagebase.cpp)
251
252 set(kcm_dolphingeneral_PART_SRCS
253 kcm/kcmdolphingeneral.cpp
254 panels/information/kmetadataconfigurationdialog.cpp
255 panels/information/kmetadatamodel.cpp
256 panels/information/kmetadatawidget.cpp
257 panels/information/knfotranslator.cpp
258 settings/behaviorsettingspage.cpp
259 settings/previewssettingspage.cpp
260 settings/contextmenusettingspage.cpp
261 settings/settingspagebase.cpp)
262 if (Nepomuk_FOUND)
263 set(kcm_dolphingeneral_PART_SRCS
264 ${kcm_dolphingeneral_PART_SRCS}
265 panels/information/kcommentwidget.cpp
266 panels/information/kedittagsdialog.cpp
267 panels/information/kloadmetadatathread.cpp
268 panels/information/nepomukmassupdatejob.cpp
269 panels/information/ktaggingwidget.cpp
270 )
271 endif (Nepomuk_FOUND)
272
273 kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS
274 settings/dolphin_columnmodesettings.kcfgc
275 settings/dolphin_directoryviewpropertysettings.kcfgc
276 settings/dolphin_detailsmodesettings.kcfgc
277 settings/dolphin_iconsmodesettings.kcfgc
278 settings/dolphin_generalsettings.kcfgc
279 settings/dolphin_versioncontrolsettings.kcfgc
280 )
281
282 kde4_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS
283 settings/dolphin_generalsettings.kcfgc)
284
285 kde4_add_kcfg_files(kcm_dolphinservices_PART_SRCS
286 settings/dolphin_generalsettings.kcfgc)
287
288 kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS
289 settings/dolphin_generalsettings.kcfgc)
290
291 kde4_add_plugin(kcm_dolphinviewmodes ${kcm_dolphinviewmodes_PART_SRCS})
292 kde4_add_plugin(kcm_dolphinnavigation ${kcm_dolphinnavigation_PART_SRCS})
293 kde4_add_plugin(kcm_dolphinservices ${kcm_dolphinservices_PART_SRCS})
294 kde4_add_plugin(kcm_dolphingeneral ${kcm_dolphingeneral_PART_SRCS})
295
296 target_link_libraries(kcm_dolphinviewmodes ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
297 target_link_libraries(kcm_dolphinnavigation ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
298 target_link_libraries(kcm_dolphinservices ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KNEWSTUFF3_LIBRARY} dolphinprivate)
299 target_link_libraries(kcm_dolphingeneral ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} dolphinprivate)
300 if (Nepomuk_FOUND)
301 target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_LIBRARIES})
302 target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_LIBRARIES})
303 target_link_libraries(kcm_dolphinservices ${NEPOMUK_LIBRARIES})
304 target_link_libraries(kcm_dolphingeneral ${NEPOMUK_LIBRARIES})
305 endif (Nepomuk_FOUND)
306
307 install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} )
308 install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} )
309 install(TARGETS kcm_dolphinservices DESTINATION ${PLUGIN_INSTALL_DIR} )
310 install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} )
311
312 ########### install files ###############
313
314 install( FILES dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
315 install( FILES settings/dolphin_directoryviewpropertysettings.kcfg
316 settings/dolphin_generalsettings.kcfg
317 settings/dolphin_columnmodesettings.kcfg
318 settings/dolphin_iconsmodesettings.kcfg
319 settings/dolphin_detailsmodesettings.kcfg
320 settings/dolphin_versioncontrolsettings.kcfg
321 DESTINATION ${KCFG_INSTALL_DIR} )
322 install( FILES dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin )
323 install( FILES search/dolphinsearchcommands.desktop DESTINATION ${DATA_INSTALL_DIR}/dolphin )
324 install( FILES kcm/kcmdolphinviewmodes.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
325 install( FILES kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
326 install( FILES kcm/kcmdolphinservices.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
327 install( FILES kcm/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
328 install( FILES khns/servicemenu.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
329 install( PROGRAMS khns/servicemenuinstallation DESTINATION ${BIN_INSTALL_DIR} )
330 install( PROGRAMS khns/servicemenudeinstallation DESTINATION ${BIN_INSTALL_DIR} )