]> cloud.milkyroute.net Git - dolphin.git/blob - src/CMakeLists.txt
Version control: Get rid of PendingThreadsMaintainer
[dolphin.git] / src / CMakeLists.txt
1 macro_optional_find_package(Nepomuk)
2 macro_log_feature(Nepomuk_FOUND "Nepomuk" "Nepomuk" "http://www.kde.org" FALSE "" "For adding desktop-wide tagging support to dolphin")
3 macro_bool_to_01(Nepomuk_FOUND HAVE_NEPOMUK)
4 configure_file(config-nepomuk.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-nepomuk.h )
5
6 macro_bool_to_01(X11_Xrender_FOUND HAVE_XRENDER)
7 configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h )
8
9 include_directories( ${KDE4_INCLUDE_DIR} ${QT_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 add_subdirectory(tests)
17
18 ########### next target ###############
19
20 set(dolphinprivate_LIB_SRCS
21 kitemviews/kfileitemlistview.cpp
22 kitemviews/kfileitemlistwidget.cpp
23 kitemviews/kfileitemmodel.cpp
24 kitemviews/kfileitemmodelrolesupdater.cpp
25 kitemviews/kitemlistcontainer.cpp
26 kitemviews/kitemlistcontroller.cpp
27 kitemviews/kitemlistgroupheader.cpp
28 kitemviews/kitemlistkeyboardsearchmanager.cpp
29 kitemviews/kitemlistrubberband.cpp
30 kitemviews/kitemlistselectionmanager.cpp
31 kitemviews/kitemlistsizehintresolver.cpp
32 kitemviews/kitemliststyleoption.cpp
33 kitemviews/kitemlistview.cpp
34 kitemviews/kitemlistviewanimation.cpp
35 kitemviews/kitemlistviewlayouter.cpp
36 kitemviews/kitemlistwidget.cpp
37 kitemviews/kitemmodelbase.cpp
38 kitemviews/kpixmapmodifier.cpp
39 settings/additionalinfodialog.cpp
40 settings/applyviewpropsjob.cpp
41 settings/dolphinsettings.cpp
42 settings/viewpropertiesdialog.cpp
43 settings/viewpropsprogressinfo.cpp
44 views/additionalinfoaccessor.cpp
45 views/dolphindirlister.cpp
46 views/dolphinfileitemlistwidget.cpp
47 views/dolphinview.cpp
48 views/dolphinitemlistcontainer.cpp
49 views/dolphinnewfilemenuobserver.cpp
50 views/dolphinremoteencoding.cpp
51 views/dolphinviewactionhandler.cpp
52 views/dolphinviewautoscroller.cpp
53 views/draganddrophelper.cpp
54 views/folderexpander.cpp
55 views/renamedialog.cpp
56 views/tooltips/filemetadatatooltip.cpp
57 views/tooltips/tooltipmanager.cpp
58 views/versioncontrol/updateitemstatesthread.cpp
59 views/versioncontrol/versioncontrolobserver.cpp
60 views/viewmodecontroller.cpp
61 views/viewproperties.cpp
62 views/zoomlevelinfo.cpp
63 )
64
65 kde4_add_kcfg_files(dolphinprivate_LIB_SRCS
66 settings/dolphin_compactmodesettings.kcfgc
67 settings/dolphin_directoryviewpropertysettings.kcfgc
68 settings/dolphin_detailsmodesettings.kcfgc
69 settings/dolphin_iconsmodesettings.kcfgc
70 settings/dolphin_generalsettings.kcfgc
71 settings/dolphin_versioncontrolsettings.kcfgc
72 )
73
74 kde4_add_library(dolphinprivate SHARED ${dolphinprivate_LIB_SRCS})
75
76 target_link_libraries(dolphinprivate ${KDE4_KFILE_LIBS} konq ${KDE4_KNEWSTUFF3_LIBS})
77 if (Nepomuk_FOUND)
78 target_link_libraries(dolphinprivate ${NEPOMUK_LIBRARIES} ${NEPOMUK_QUERY_LIBRARIES} nepomukutils ${SOPRANO_LIBRARIES})
79 endif (Nepomuk_FOUND)
80 if(X11_Xrender_FOUND)
81 target_link_libraries(dolphinprivate ${X11_Xrender_LIB} )
82 endif(X11_Xrender_FOUND)
83
84
85
86 set_target_properties(dolphinprivate PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
87 install(TARGETS dolphinprivate ${INSTALL_TARGETS_DEFAULT_ARGS})
88
89
90 ##########################################
91
92 set(dolphinpart_SRCS
93 dolphinpart.cpp
94 )
95
96 kde4_add_plugin(dolphinpart ${dolphinpart_SRCS})
97
98 target_link_libraries(dolphinpart dolphinprivate konq ${KDE4_KPARTS_LIBS} ${KDE4_KFILE_LIBS})
99
100 install(TARGETS dolphinpart DESTINATION ${PLUGIN_INSTALL_DIR})
101
102 install(FILES dolphinpart.rc DESTINATION ${DATA_INSTALL_DIR}/dolphinpart)
103 install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
104 install(FILES views/versioncontrol/fileviewversioncontrolplugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
105
106 ##########################################
107
108 set(dolphin_SRCS
109 dolphinapplication.cpp
110 dolphindockwidget.cpp
111 dolphinmainwindow.cpp
112 dolphinnewfilemenu.cpp
113 dolphinviewcontainer.cpp
114 dolphincontextmenu.cpp
115 filterbar/filterbar.cpp
116 main.cpp
117 panels/information/filemetadataconfigurationdialog.cpp
118 panels/information/informationpanel.cpp
119 panels/information/informationpanelcontent.cpp
120 panels/information/pixmapviewer.cpp
121 panels/information/phononwidget.cpp
122 panels/folders/ktreeview.cpp
123 panels/places/placespanel.cpp
124 panels/panel.cpp
125 panels/folders/treeviewcontextmenu.cpp
126 panels/folders/folderspanel.cpp
127 panels/folders/paneltreeview.cpp
128 search/dolphinsearchbox.cpp
129 search/dolphinsearchinformation.cpp
130 settings/general/behaviorsettingspage.cpp
131 settings/general/configurepreviewplugindialog.cpp
132 settings/general/contextmenusettingspage.cpp
133 settings/general/generalsettingspage.cpp
134 settings/general/previewssettingspage.cpp
135 settings/general/statusbarsettingspage.cpp
136 settings/dolphinsettingsdialog.cpp
137 settings/navigation/navigationsettingspage.cpp
138 settings/services/servicessettingspage.cpp
139 settings/settingspagebase.cpp
140 settings/serviceitemdelegate.cpp
141 settings/servicemodel.cpp
142 settings/startup/startupsettingspage.cpp
143 settings/trash/trashsettingspage.cpp
144 settings/viewmodes/dolphinfontrequester.cpp
145 settings/viewmodes/viewsettingspage.cpp
146 settings/viewmodes/viewsettingstab.cpp
147 statusbar/dolphinstatusbar.cpp
148 statusbar/statusbarspaceinfo.cpp
149 views/zoomlevelinfo.cpp
150 )
151
152 kde4_add_kcfg_files(dolphin_SRCS
153 panels/folders/dolphin_folderspanelsettings.kcfgc
154 panels/information/dolphin_informationpanelsettings.kcfgc
155 settings/dolphin_compactmodesettings.kcfgc
156 settings/dolphin_detailsmodesettings.kcfgc
157 settings/dolphin_generalsettings.kcfgc
158 settings/dolphin_iconsmodesettings.kcfgc
159 search/dolphin_searchsettings.kcfgc
160 settings/dolphin_versioncontrolsettings.kcfgc
161 )
162
163 if(Nepomuk_FOUND)
164 set(dolphin_SRCS
165 ${dolphin_SRCS}
166 panels/search/searchpanel.cpp
167 )
168 endif(Nepomuk_FOUND)
169
170 if(NOT WIN32)
171 set(dolphin_SRCS ${dolphin_SRCS} panels/terminal/terminalpanel.cpp)
172 endif(NOT WIN32)
173
174 kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-file-manager.png")
175
176 kde4_add_kdeinit_executable(dolphin ${dolphin_SRCS})
177
178 target_link_libraries(kdeinit_dolphin
179 ${KDE4_KDEPRINT_LIBS}
180 ${KDE4_KFILE_LIBS}
181 ${KDE4_KPARTS_LIBS}
182 ${KDE4_KCMUTILS_LIBRARY}
183 konq
184 dolphinprivate
185 knewstuff3
186 ${KDE4_PHONON_LIBS}
187 )
188
189 if (Nepomuk_FOUND)
190 target_link_libraries(kdeinit_dolphin
191 ${NEPOMUK_LIBRARIES}
192 ${SOPRANO_LIBRARIES}
193 ${NEPOMUK_QUERY_LIBRARIES}
194 nepomukutils
195 )
196 endif (Nepomuk_FOUND)
197
198 install(TARGETS kdeinit_dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
199 install(TARGETS dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
200
201 ##########################################
202
203 set(kcm_dolphinviewmodes_PART_SRCS
204 settings/kcm/kcmdolphinviewmodes.cpp
205 settings/viewmodes/dolphinfontrequester.cpp
206 settings/viewmodes/viewsettingstab.cpp
207 views/zoomlevelinfo.cpp)
208
209 set(kcm_dolphinnavigation_PART_SRCS
210 settings/kcm/kcmdolphinnavigation.cpp
211 settings/navigation/navigationsettingspage.cpp
212 settings/settingspagebase.cpp)
213
214 set(kcm_dolphinservices_PART_SRCS
215 settings/kcm/kcmdolphinservices.cpp
216 settings/services/servicessettingspage.cpp
217 settings/settingspagebase.cpp
218 settings/serviceitemdelegate.cpp
219 settings/servicemodel.cpp)
220
221 set(kcm_dolphingeneral_PART_SRCS
222 settings/kcm/kcmdolphingeneral.cpp
223 settings/general/behaviorsettingspage.cpp
224 settings/general/previewssettingspage.cpp
225 settings/general/configurepreviewplugindialog.cpp
226 settings/general/contextmenusettingspage.cpp
227 settings/settingspagebase.cpp
228 settings/serviceitemdelegate.cpp
229 settings/servicemodel.cpp)
230
231 kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS
232 settings/dolphin_compactmodesettings.kcfgc
233 settings/dolphin_directoryviewpropertysettings.kcfgc
234 settings/dolphin_detailsmodesettings.kcfgc
235 settings/dolphin_iconsmodesettings.kcfgc
236 settings/dolphin_generalsettings.kcfgc
237 settings/dolphin_versioncontrolsettings.kcfgc
238 )
239
240 kde4_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS
241 settings/dolphin_generalsettings.kcfgc)
242
243 kde4_add_kcfg_files(kcm_dolphinservices_PART_SRCS
244 settings/dolphin_generalsettings.kcfgc
245 settings/dolphin_versioncontrolsettings.kcfgc)
246
247 kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS
248 settings/dolphin_generalsettings.kcfgc)
249
250 kde4_add_plugin(kcm_dolphinviewmodes ${kcm_dolphinviewmodes_PART_SRCS})
251 kde4_add_plugin(kcm_dolphinnavigation ${kcm_dolphinnavigation_PART_SRCS})
252 kde4_add_plugin(kcm_dolphinservices ${kcm_dolphinservices_PART_SRCS})
253 kde4_add_plugin(kcm_dolphingeneral ${kcm_dolphingeneral_PART_SRCS})
254
255 target_link_libraries(kcm_dolphinviewmodes ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
256 target_link_libraries(kcm_dolphinnavigation ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
257 target_link_libraries(kcm_dolphinservices ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KNEWSTUFF3_LIBRARY} dolphinprivate)
258 target_link_libraries(kcm_dolphingeneral ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} dolphinprivate)
259 if (Nepomuk_FOUND)
260 target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_LIBRARIES})
261 target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_LIBRARIES})
262 target_link_libraries(kcm_dolphinservices ${NEPOMUK_LIBRARIES})
263 target_link_libraries(kcm_dolphingeneral ${NEPOMUK_LIBRARIES})
264 endif (Nepomuk_FOUND)
265
266 install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} )
267 install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} )
268 install(TARGETS kcm_dolphinservices DESTINATION ${PLUGIN_INSTALL_DIR} )
269 install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} )
270
271 #########################################
272
273 set(kio_search_PART_SRCS
274 search/filenamesearchprotocol.cpp)
275 kde4_add_plugin(kio_filenamesearch ${kio_search_PART_SRCS})
276 target_link_libraries(kio_filenamesearch ${KDE4_KIO_LIBS})
277 install(TARGETS kio_filenamesearch DESTINATION ${PLUGIN_INSTALL_DIR})
278
279 ########### install files ###############
280
281 install( PROGRAMS dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
282 install( FILES settings/dolphin_directoryviewpropertysettings.kcfg
283 settings/dolphin_generalsettings.kcfg
284 settings/dolphin_compactmodesettings.kcfg
285 settings/dolphin_iconsmodesettings.kcfg
286 settings/dolphin_detailsmodesettings.kcfg
287 settings/dolphin_versioncontrolsettings.kcfg
288 DESTINATION ${KCFG_INSTALL_DIR} )
289 install( FILES dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin )
290 install( FILES search/filenamesearch.protocol DESTINATION ${SERVICES_INSTALL_DIR} )
291 install( FILES settings/kcm/kcmdolphinviewmodes.desktop DESTINATION
292 ${SERVICES_INSTALL_DIR} )
293 install( FILES settings/kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
294 install( FILES settings/kcm/kcmdolphinservices.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
295 install( FILES settings/kcm/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
296 install( FILES settings/services/servicemenu.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )
297 install( PROGRAMS settings/services/servicemenuinstallation DESTINATION ${BIN_INSTALL_DIR} )
298 install( PROGRAMS settings/services/servicemenudeinstallation DESTINATION ${BIN_INSTALL_DIR} )
299