]> cloud.milkyroute.net Git - dolphin.git/blob - src/CMakeLists.txt
Fix crash when changing view modes (view creation -> openurl -> clear -> update statu...
[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 draganddrophelper.cpp
35 folderexpander.cpp
36 renamedialog.cpp
37 selectiontoggle.cpp
38 selectionmanager.cpp
39 settings/additionalinfodialog.cpp
40 settings/applyviewpropsjob.cpp
41 settings/dolphinsettings.cpp
42 settings/viewpropertiesdialog.cpp
43 settings/viewpropsprogressinfo.cpp
44 tooltips/dolphintooltip.cpp
45 tooltips/ktooltip.cpp
46 tooltips/ktooltipdelegate.cpp
47 tooltips/ktooltipitem.cpp
48 tooltips/kformattedballoontipdelegate.cpp
49 tooltips/tooltipmanager.cpp
50 versioncontrolobserver.cpp
51 viewextensionsfactory.cpp
52 viewproperties.cpp
53 zoomlevelinfo.cpp
54 )
55
56 kde4_add_kcfg_files(dolphinprivate_LIB_SRCS
57 settings/dolphin_columnmodesettings.kcfgc
58 settings/dolphin_directoryviewpropertysettings.kcfgc
59 settings/dolphin_detailsmodesettings.kcfgc
60 settings/dolphin_iconsmodesettings.kcfgc
61 settings/dolphin_generalsettings.kcfgc)
62
63 kde4_add_library(dolphinprivate SHARED ${dolphinprivate_LIB_SRCS})
64
65 target_link_libraries(dolphinprivate ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS} konq ${QIMAGEBLITZ_LIBRARIES} ${X11_LIBRARIES})
66 if(X11_Xrender_FOUND)
67 target_link_libraries(dolphinprivate ${X11_Xrender_LIB} )
68 endif(X11_Xrender_FOUND)
69 if (Nepomuk_FOUND)
70 target_link_libraries(dolphinprivate ${NEPOMUK_LIBRARIES} ${SOPRANO_LIBRARIES})
71 endif (Nepomuk_FOUND)
72
73
74 set_target_properties(dolphinprivate PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
75 install(TARGETS dolphinprivate ${INSTALL_TARGETS_DEFAULT_ARGS})
76
77
78 ##########################################
79
80 set(dolphinpart_SRCS
81 dolphinpart.cpp
82 )
83
84 set(fileviewsvnplugin_SRCS
85 fileviewsvnplugin.cpp
86 )
87
88 kde4_add_plugin(dolphinpart ${dolphinpart_SRCS})
89 kde4_add_plugin(fileviewsvnplugin ${fileviewsvnplugin_SRCS})
90
91 target_link_libraries(dolphinpart dolphinprivate konq ${KDE4_KPARTS_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS})
92 target_link_libraries(fileviewsvnplugin ${KDE4_KDECORE_LIBS} ${QT_QTGUI_LIBRARY} ${KDE4_KIO_LIBS} konq)
93
94 install(TARGETS dolphinpart DESTINATION ${PLUGIN_INSTALL_DIR})
95 install(TARGETS fileviewsvnplugin DESTINATION ${PLUGIN_INSTALL_DIR})
96
97 install(FILES dolphinpart.rc DESTINATION ${DATA_INSTALL_DIR}/dolphinpart)
98 install(FILES dolphinpart.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
99 install(FILES fileviewsvnplugin.desktop DESTINATION ${SERVICES_INSTALL_DIR})
100
101 ##########################################
102
103 set(dolphin_SRCS
104 dolphinapplication.cpp
105 dolphinmainwindow.cpp
106 dolphinnewmenu.cpp
107 dolphinviewcontainer.cpp
108 dolphinsearchbox.cpp
109 dolphindirlister.cpp
110 dolphincontextmenu.cpp
111 filterbar.cpp
112 main.cpp
113 pixmapviewer.cpp
114 panels/information/commentwidget.cpp
115 panels/information/informationpanel.cpp
116 panels/information/informationpanelcontent.cpp
117 panels/information/metadatawidget.cpp
118 panels/information/metatextlabel.cpp
119 panels/information/phononwidget.cpp
120 panels/folders/ktreeview.cpp
121 panels/places/placespanel.cpp
122 panels/panel.cpp
123 panels/folders/treeviewcontextmenu.cpp
124 panels/folders/folderspanel.cpp
125 panels/folders/paneltreeview.cpp
126 settings/behaviorsettingspage.cpp
127 settings/columnviewsettingspage.cpp
128 settings/contextmenusettingspage.cpp
129 settings/dolphinfontrequester.cpp
130 settings/dolphinsettingsdialog.cpp
131 settings/detailsviewsettingspage.cpp
132 settings/generalsettingspage.cpp
133 settings/iconsizegroupbox.cpp
134 settings/iconsviewsettingspage.cpp
135 settings/navigationsettingspage.cpp
136 settings/previewssettingspage.cpp
137 settings/servicessettingspage.cpp
138 settings/settingspagebase.cpp
139 settings/startupsettingspage.cpp
140 settings/statusbarsettingspage.cpp
141 settings/trashsettingspage.cpp
142 settings/viewsettingspage.cpp
143 settings/viewsettingspagebase.cpp
144 statusbar/dolphinstatusbar.cpp
145 statusbar/statusbarspaceinfo.cpp
146 statusbar/statusbarmessagelabel.cpp
147 zoomlevelinfo.cpp
148 )
149
150 kde4_add_kcfg_files(dolphin_SRCS
151 panels/folders/dolphin_folderspanelsettings.kcfgc
152 panels/information/dolphin_informationpanelsettings.kcfgc)
153
154 if(Nepomuk_FOUND)
155 set(dolphin_SRCS
156 ${dolphin_SRCS}
157 panels/information/nepomukmassupdatejob.cpp
158 panels/information/tagcloud.cpp
159 panels/information/resourcetaggingwidget.cpp
160 panels/information/taggingpopup.cpp
161 panels/information/newtagdialog.cpp
162 )
163 kde4_add_ui_files(dolphin_SRCS panels/information/newtagdialog.ui)
164
165 endif(Nepomuk_FOUND)
166
167 if(NOT WIN32)
168 set(dolphin_SRCS ${dolphin_SRCS} panels/terminal/terminalpanel.cpp)
169 endif(NOT WIN32)
170
171 qt4_add_dbus_adaptor(dolphin_SRCS
172 org.kde.dolphin.Application.xml
173 dolphinapplication.h DolphinApplication)
174 qt4_add_dbus_adaptor(dolphin_SRCS
175 org.kde.dolphin.MainWindow.xml
176 dolphinmainwindow.h DolphinMainWindow)
177
178 kde4_add_app_icon(dolphin_SRCS "${KDE4_ICON_INSTALL_DIR}/oxygen/*/apps/system-file-manager.png")
179
180 kde4_add_executable(dolphin ${dolphin_SRCS})
181
182 target_link_libraries(dolphin ${KDE4_KIO_LIBS} ${KDE4_KDEPRINT_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KUTILS_LIBRARY} konq dolphinprivate ${KDE4_PHONON_LIBS})
183
184 if (Nepomuk_FOUND)
185 target_link_libraries(dolphin ${NEPOMUK_LIBRARIES} ${SOPRANO_LIBRARIES})
186 endif (Nepomuk_FOUND)
187
188 install(TARGETS dolphin ${INSTALL_TARGETS_DEFAULT_ARGS})
189
190 ##########################################
191
192 set(kcm_dolphinviewmodes_PART_SRCS
193 kcm/kcmdolphinviewmodes.cpp
194 settings/columnviewsettingspage.cpp
195 settings/detailsviewsettingspage.cpp
196 settings/dolphinfontrequester.cpp
197 settings/iconsizegroupbox.cpp
198 settings/iconsviewsettingspage.cpp
199 settings/viewsettingspagebase.cpp
200 pixmapviewer.cpp
201 zoomlevelinfo.cpp)
202
203 set(kcm_dolphinnavigation_PART_SRCS
204 kcm/kcmdolphinnavigation.cpp
205 settings/navigationsettingspage.cpp
206 settings/settingspagebase.cpp)
207
208 set(kcm_dolphinservices_PART_SRCS
209 kcm/kcmdolphinservices.cpp
210 settings/servicessettingspage.cpp
211 settings/settingspagebase.cpp)
212
213 set(kcm_dolphingeneral_PART_SRCS
214 kcm/kcmdolphingeneral.cpp
215 settings/behaviorsettingspage.cpp
216 settings/previewssettingspage.cpp
217 settings/contextmenusettingspage.cpp
218 settings/settingspagebase.cpp)
219
220 kde4_add_kcfg_files(kcm_dolphinviewmodes_PART_SRCS
221 settings/dolphin_columnmodesettings.kcfgc
222 settings/dolphin_directoryviewpropertysettings.kcfgc
223 settings/dolphin_detailsmodesettings.kcfgc
224 settings/dolphin_iconsmodesettings.kcfgc
225 settings/dolphin_generalsettings.kcfgc)
226
227 kde4_add_kcfg_files(kcm_dolphinnavigation_PART_SRCS
228 settings/dolphin_generalsettings.kcfgc)
229
230 kde4_add_kcfg_files(kcm_dolphinservices_PART_SRCS
231 settings/dolphin_generalsettings.kcfgc)
232
233 kde4_add_kcfg_files(kcm_dolphingeneral_PART_SRCS
234 settings/dolphin_generalsettings.kcfgc)
235
236 kde4_add_plugin(kcm_dolphinviewmodes ${kcm_dolphinviewmodes_PART_SRCS})
237 kde4_add_plugin(kcm_dolphinnavigation ${kcm_dolphinnavigation_PART_SRCS})
238 kde4_add_plugin(kcm_dolphinservices ${kcm_dolphinservices_PART_SRCS})
239 kde4_add_plugin(kcm_dolphingeneral ${kcm_dolphingeneral_PART_SRCS})
240
241 target_link_libraries(kcm_dolphinviewmodes ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
242 target_link_libraries(kcm_dolphinnavigation ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
243 target_link_libraries(kcm_dolphinservices ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} ${KDE4_KIO_LIBS} dolphinprivate)
244 target_link_libraries(kcm_dolphingeneral ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS} dolphinprivate)
245 if (Nepomuk_FOUND)
246 target_link_libraries(kcm_dolphinviewmodes ${NEPOMUK_LIBRARIES})
247 target_link_libraries(kcm_dolphinnavigation ${NEPOMUK_LIBRARIES})
248 target_link_libraries(kcm_dolphinservices ${NEPOMUK_LIBRARIES})
249 target_link_libraries(kcm_dolphingeneral ${NEPOMUK_LIBRARIES})
250 endif (Nepomuk_FOUND)
251
252 install(TARGETS kcm_dolphinviewmodes DESTINATION ${PLUGIN_INSTALL_DIR} )
253 install(TARGETS kcm_dolphinnavigation DESTINATION ${PLUGIN_INSTALL_DIR} )
254 install(TARGETS kcm_dolphinservices DESTINATION ${PLUGIN_INSTALL_DIR} )
255 install(TARGETS kcm_dolphingeneral DESTINATION ${PLUGIN_INSTALL_DIR} )
256
257 ########### install files ###############
258
259 install( FILES dolphin.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
260 install( FILES settings/dolphin_directoryviewpropertysettings.kcfg settings/dolphin_generalsettings.kcfg settings/dolphin_columnmodesettings.kcfg settings/dolphin_iconsmodesettings.kcfg settings/dolphin_detailsmodesettings.kcfg DESTINATION ${KCFG_INSTALL_DIR} )
261 install( FILES dolphinui.rc DESTINATION ${DATA_INSTALL_DIR}/dolphin )
262 install( FILES kcm/kcmdolphinviewmodes.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
263 install( FILES kcm/kcmdolphinnavigation.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
264 install( FILES kcm/kcmdolphinservices.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
265 install( FILES kcm/kcmdolphingeneral.desktop DESTINATION ${SERVICES_INSTALL_DIR} )