]> cloud.milkyroute.net Git - dolphin.git/blob - src/CMakeLists.txt
Implement todo (create a dialog box when ok is enable/disable when text is empty...
[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 search/searchoptiondialogbox.cpp
141 settings/behaviorsettingspage.cpp
142 settings/columnviewsettingspage.cpp
143 settings/contextmenusettingspage.cpp
144 settings/dolphinfontrequester.cpp
145 settings/dolphinsettingsdialog.cpp
146 settings/detailsviewsettingspage.cpp
147 settings/generalsettingspage.cpp
148 settings/iconsizegroupbox.cpp
149 settings/iconsviewsettingspage.cpp
150 settings/navigationsettingspage.cpp
151 settings/previewssettingspage.cpp
152 settings/servicessettingspage.cpp
153 settings/settingspagebase.cpp
154 settings/startupsettingspage.cpp
155 settings/statusbarsettingspage.cpp
156 settings/trashsettingspage.cpp
157 settings/viewsettingspage.cpp
158 settings/viewsettingspagebase.cpp
159 statusbar/dolphinstatusbar.cpp
160 statusbar/statusbarspaceinfo.cpp
161 statusbar/statusbarmessagelabel.cpp
162 zoomlevelinfo.cpp
163 )
164
165 kde4_add_kcfg_files(dolphin_SRCS
166 panels/folders/dolphin_folderspanelsettings.kcfgc
167 panels/information/dolphin_informationpanelsettings.kcfgc
168 search/dolphin_searchsettings.kcfgc
169 )
170
171 if(Nepomuk_FOUND)
172 set(dolphin_SRCS
173 ${dolphin_SRCS}
174 panels/information/kcommentwidget.cpp
175 panels/information/kedittagsdialog.cpp
176 panels/information/kloadmetadatathread.cpp
177 panels/information/nepomukmassupdatejob.cpp
178 panels/information/ktaggingwidget.cpp
179 search/dolphinsearchoptionsconfigurator.cpp
180 search/searchcriteriondescription.cpp
181 search/searchcriterionselector.cpp
182 search/searchcriterionvalue.cpp
183 )
184 endif(Nepomuk_FOUND)
185
186 if(Nepomuk_FOUND)
187 include(SopranoAddOntology)
188 soprano_add_ontology(dolphin_SRCS ${SHAREDDESKTOPONTOLOGIES_ROOT_DIR}/nie/nfo.trig "NFO" "Nepomuk::Vocabulary" "trig")
189 soprano_add_ontology(dolphin_SRCS ${SHAREDDESKTOPONTOLOGIES_ROOT_DIR}/nie/nie.trig "NIE" "Nepomuk::Vocabulary" "trig")
190 endif(Nepomuk_FOUND)
191
192 if(NOT WIN32)
193 set(dolphin_SRCS ${dolphin_SRCS} panels/terminal/terminalpanel.cpp)
194 endif(NOT WIN32)
195
196 qt4_add_dbus_adaptor(dolphin_SRCS
197 org.kde.dolphin.Application.xml
198 dolphinapplication.h DolphinApplication)
199 qt4_add_dbus_adaptor(dolphin_SRCS
200 org.kde.dolphin.MainWindow.xml
201 dolphinmainwindow.h DolphinMainWindow)
202
203 kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-file-manager.png")
204
205 kde4_add_executable(dolphin ${dolphin_SRCS})
206
207 target_link_libraries(dolphin
208 ${KDE4_KDEPRINT_LIBS}
209 ${KDE4_KFILE_LIBS}
210 ${KDE4_KUTILS_LIBRARY}
211 konq
212 dolphinprivate
213 knewstuff3
214 ${KDE4_PHONON_LIBS}
215 )
216
217 if (Nepomuk_FOUND)
218 target_link_libraries(dolphin
219 ${NEPOMUK_LIBRARIES}
220 ${SOPRANO_LIBRARIES}
221 ${NEPOMUK_QUERY_LIBRARIES}
222 )
223 endif (Nepomuk_FOUND)
224
225 install(TARGETS dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
226
227 ##########################################
228
229 set(kcm_dolphinviewmodes_PART_SRCS
230 kcm/kcmdolphinviewmodes.cpp
231 pixmapviewer.cpp
232 settings/columnviewsettingspage.cpp
233 settings/detailsviewsettingspage.cpp
234 settings/dolphinfontrequester.cpp
235 settings/iconsizegroupbox.cpp
236 settings/iconsviewsettingspage.cpp
237 settings/viewsettingspagebase.cpp
238 zoomlevelinfo.cpp)
239
240 set(kcm_dolphinnavigation_PART_SRCS
241 kcm/kcmdolphinnavigation.cpp
242 settings/navigationsettingspage.cpp
243 settings/settingspagebase.cpp)
244
245 set(kcm_dolphinservices_PART_SRCS
246 kcm/kcmdolphinservices.cpp
247 settings/servicessettingspage.cpp
248 settings/settingspagebase.cpp)
249
250 set(kcm_dolphingeneral_PART_SRCS
251 kcm/kcmdolphingeneral.cpp
252 panels/information/kmetadataconfigurationdialog.cpp
253 panels/information/kmetadatawidget.cpp
254 settings/behaviorsettingspage.cpp
255 settings/previewssettingspage.cpp
256 settings/contextmenusettingspage.cpp
257 settings/settingspagebase.cpp)
258 if (Nepomuk_FOUND)
259 set(kcm_dolphingeneral_PART_SRCS
260 ${kcm_dolphingeneral_PART_SRCS}
261 panels/information/kcommentwidget.cpp
262 panels/information/kedittagsdialog.cpp
263 panels/information/kloadmetadatathread.cpp
264 panels/information/nepomukmassupdatejob.cpp
265 panels/information/ktaggingwidget.cpp
266 )
267 endif (Nepomuk_FOUND)
268
269 kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS
270 settings/dolphin_columnmodesettings.kcfgc
271 settings/dolphin_directoryviewpropertysettings.kcfgc
272 settings/dolphin_detailsmodesettings.kcfgc
273 settings/dolphin_iconsmodesettings.kcfgc
274 settings/dolphin_generalsettings.kcfgc
275 settings/dolphin_versioncontrolsettings.kcfgc
276 )
277
278 kde4_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS
279 settings/dolphin_generalsettings.kcfgc)
280
281 kde4_add_kcfg_files(kcm_dolphinservices_PART_SRCS
282 settings/dolphin_generalsettings.kcfgc)
283
284 kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS
285 settings/dolphin_generalsettings.kcfgc)
286
287 kde4_add_plugin(kcm_dolphinviewmodes ${kcm_dolphinviewmodes_PART_SRCS})
288 kde4_add_plugin(kcm_dolphinnavigation ${kcm_dolphinnavigation_PART_SRCS})
289 kde4_add_plugin(kcm_dolphinservices ${kcm_dolphinservices_PART_SRCS})
290 kde4_add_plugin(kcm_dolphingeneral ${kcm_dolphingeneral_PART_SRCS})
291
292 target_link_libraries(kcm_dolphinviewmodes ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
293 target_link_libraries(kcm_dolphinnavigation ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
294 target_link_libraries(kcm_dolphinservices ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KNEWSTUFF3_LIBRARY} dolphinprivate)
295 target_link_libraries(kcm_dolphingeneral ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} dolphinprivate)
296 if (Nepomuk_FOUND)
297 target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_LIBRARIES})
298 target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_LIBRARIES})
299 target_link_libraries(kcm_dolphinservices ${NEPOMUK_LIBRARIES})
300 target_link_libraries(kcm_dolphingeneral ${NEPOMUK_LIBRARIES})
301 endif (Nepomuk_FOUND)
302
303 install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} )
304 install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} )
305 install(TARGETS kcm_dolphinservices DESTINATION ${PLUGIN_INSTALL_DIR} )
306 install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} )
307
308 ########### install files ###############
309
310 install( FILES dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
311 install( FILES settings/dolphin_directoryviewpropertysettings.kcfg
312 settings/dolphin_generalsettings.kcfg
313 settings/dolphin_columnmodesettings.kcfg
314 settings/dolphin_iconsmodesettings.kcfg
315 settings/dolphin_detailsmodesettings.kcfg
316 settings/dolphin_versioncontrolsettings.kcfg
317 DESTINATION ${KCFG_INSTALL_DIR} )
318 install( FILES dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin )
319 install( FILES search/dolphinsearchcommands.desktop DESTINATION ${DATA_INSTALL_DIR}/dolphin )
320 install( FILES kcm/kcmdolphinviewmodes.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
321 install( FILES kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
322 install( FILES kcm/kcmdolphinservices.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
323 install( FILES kcm/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
324 install( FILES khns/servicemenu.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
325 install( PROGRAMS khns/servicemenuinstallation DESTINATION ${BIN_INSTALL_DIR} )
326 install( PROGRAMS khns/servicemenudeinstallation DESTINATION ${BIN_INSTALL_DIR} )