2 FIND_PATH( KONQSIDEBAR_INCLUDE_DIR konqsidebarplugin.h
8 MESSAGE(STATUS "reactivate konquesidebar when it is ported")
9 #if(KONQSIDEBAR_INCLUDE_DIR)
10 # add_subdirectory( konquisidebar ) #disabling for now
11 #else(KONQSIDEBAR_INCLUDE_DIR)
12 # MESSAGE(STATUS "You're missing the kdebase header files")
13 # MESSAGE(STATUS "Konqueror sidebar will not be compiled.")
14 #endif(KONQSIDEBAR_INCLUDE_DIR)
16 ADD_DEFINITIONS(${TAGLIB_CFLAGS})
19 ADD_DEFINITIONS(-DHAVE_MP4V2)
20 include_directories( ${MP4V2_INCLUDE_DIR} )
24 set(mac_SRCS app_mac.cpp)
27 add_subdirectory( amarokcore )
28 add_subdirectory( data )
29 add_subdirectory( images )
30 add_subdirectory( scripts )
31 add_subdirectory( themes )
32 add_subdirectory( vis )
33 add_subdirectory( metadata )
34 add_subdirectory( engine )
35 add_subdirectory( mediadevice )
36 add_subdirectory( collectionscanner )
37 add_subdirectory( collection )
38 add_subdirectory( strigi )
39 add_subdirectory( context )
40 add_subdirectory( playlistmanager )
41 add_subdirectory( servicebrowser )
43 OPTION(USE_SYSTEM_SQLITE "Use system sqlite instead of amarok's own copy" OFF)
45 if (USE_SYSTEM_SQLITE)
46 find_package(Sqlite REQUIRED)
48 else (USE_SYSTEM_SQLITE)
50 set(libsqlite_SRCS sqlite/sqlite3.c)
51 endif (USE_SYSTEM_SQLITE)
65 #servicebrowser/magnatunestore
66 ${CMAKE_CURRENT_SOURCE_DIR}
72 ${CMAKE_CURRENT_BINARY_DIR} #for amarokconfig.h
79 set(libamarokcore_SRCS
80 amarokcore/amarokdbushandler.cpp
81 amarokcore/crashhandler.cpp
84 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.collection.xml amarokcore/amarokdbushandler.h Amarok::DbusCollectionHandler)
85 #qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.mediabrowser.xml amarokcore/amarokdbushandler.h Amarok::DbusMediaBrowserHandler)
86 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.player.xml amarokcore/amarokdbushandler.h Amarok::DbusPlayerHandler)
87 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.playlist.xml amarokcore/amarokdbushandler.h Amarok::DbusPlaylistHandler)
88 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.playlistbrowser.xml amarokcore/amarokdbushandler.h Amarok::DbusPlaylistBrowserHandler)
89 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.script.xml amarokcore/amarokdbushandler.h Amarok::DbusScriptHandler)
90 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.context.xml amarokcore/amarokdbushandler.h Amarok::DbusContextHandler)
92 #####################################################################
94 #####################################################################
97 plugin/pluginconfig.cpp
100 #####################################################################
102 #####################################################################
103 set(libservicebrowser_SRCS
104 servicebrowser/servicebrowser.cpp
105 servicebrowser/servicebase.cpp
106 servicebrowser/ServicePluginManager.cpp
107 servicebrowser/servicemetabase.cpp
108 servicebrowser/servicecollection.cpp
109 servicebrowser/servicesqlquerymaker.cpp
110 servicebrowser/servicesqlcollection.cpp
111 servicebrowser/ServiceDynamicCollection.cpp
112 servicebrowser/infoparserbase.cpp
113 servicebrowser/ServiceSqlRegistry.cpp
114 servicebrowser/ServiceAlbumCoverDownloader.cpp
115 servicebrowser/ServiceInfoProxy.cpp
116 servicebrowser/ServiceListModel.cpp
117 servicebrowser/ServiceListDelegate.cpp
118 servicebrowser/DynamicServiceQueryMaker.cpp
119 servicebrowser/ServiceCustomActionsCapability.cpp
123 #####################################################################
125 #####################################################################
126 set(libscriptableservice_SRCS
127 servicebrowser/scriptableservice/scriptableservicemanager.cpp
128 servicebrowser/scriptableservice/ScriptableServiceInfoParser.cpp
129 servicebrowser/scriptableservice/scriptableservice.cpp
130 servicebrowser/scriptableservice/ScriptableServiceCollection.cpp
131 servicebrowser/scriptableservice/DynamicScriptableServiceMeta.cpp
132 servicebrowser/scriptableservice/DynamicScriptableServiceCollection.cpp
133 servicebrowser/scriptableservice/DynamicScriptableQueryMaker.cpp
136 #####################################################################
138 #####################################################################
139 set(libshoutcastservice_SRCS
140 servicebrowser/shoutcast/ShoutcastService.cpp
141 servicebrowser/shoutcast/ShoutcastServiceCollection.cpp
142 servicebrowser/shoutcast/ShoutcastServiceQueryMaker.cpp
147 #####################################################################
149 #####################################################################
150 set(libmp3tunesservice_SRCS
151 servicebrowser/mp3tunes/mp3tunesservice.cpp
152 servicebrowser/mp3tunes/Mp3tunesServiceCollection.cpp
153 servicebrowser/mp3tunes/Mp3tunesServiceQueryMaker.cpp
154 servicebrowser/mp3tunes/Mp3tunesMeta.cpp
159 qt4_add_dbus_adaptor( libscriptableservice_SRCS servicebrowser/scriptableservice/org.kde.amarok.ScriptableServiceManager.xml servicebrowser/scriptableservice/scriptableservicemanager.h ScriptableServiceManager)
161 #####################################################################
163 #####################################################################
164 set(libconfigdialog_SRCS
165 configdialog/ConfigDialog.cpp
166 configdialog/ConfigDialogBase.cpp
167 configdialog/dialogs/AppearanceConfig.cpp
168 configdialog/dialogs/CollectionConfig.cpp
169 configdialog/dialogs/EngineConfig.cpp
170 configdialog/dialogs/GeneralConfig.cpp
171 configdialog/dialogs/LastfmConfig.cpp
172 configdialog/dialogs/MediadeviceConfig.cpp
173 configdialog/dialogs/OsdConfig.cpp
174 configdialog/dialogs/PlaybackConfig.cpp
177 kde4_add_ui_files(libconfigdialog_SRCS
178 configdialog/dialogs/AppearanceConfig.ui
179 configdialog/dialogs/CollectionConfig.ui
180 configdialog/dialogs/GeneralConfig.ui
181 configdialog/dialogs/LastfmConfig.ui
182 configdialog/dialogs/OsdConfig.ui
183 configdialog/dialogs/PlaybackConfig.ui
186 kde4_add_ui_files(libconfigdialog_SRCS
187 servicebrowser/magnatunestore/magnatunepurchasedialogbase.ui
190 #####################################################################
192 #####################################################################
193 set(libcollectionbrowser_SRCS
194 collectionbrowser/CollectionTreeView.cpp
195 collectionbrowser/CollectionTreeItemModelBase.cpp
196 collectionbrowser/CollectionTreeItemModel.cpp
197 collectionbrowser/SingleCollectionTreeItemModel.cpp
198 collectionbrowser/CollectionSortFilterProxyModel.cpp
199 collectionbrowser/CollectionTreeItem.cpp
200 collectionbrowser/CollectionWidget.cpp
203 #####################################################################
205 #####################################################################
206 set(libanalyzers_SRCS
207 analyzers/analyzerbase.cpp
208 analyzers/analyzerfactory.cpp
209 analyzers/baranalyzer.cpp
210 analyzers/blockanalyzer.cpp
211 analyzers/glanalyzer.cpp
212 analyzers/glanalyzer2.cpp
213 analyzers/glanalyzer3.cpp
214 analyzers/sonogram.cpp
215 # analyzers/turbine.cpp
216 #analyzers/boomanalyzer.cpp
219 #####################################################################
221 #####################################################################
222 set(libstatusbar_SRCS
223 statusbar/statusBarBase.cpp
224 statusbar/ContextStatusBar.cpp
225 statusbar/PlaylistStatusBar.cpp
226 statusbar/overlayWidget.cpp
227 statusbar/popupMessage.cpp
228 statusbar/progressBar.cpp
229 statusbar/StatusBarMessageLabel.cpp
230 #TODO: Port to new playlist
231 # statusbar/queueLabel.cpp
232 statusbar/selectLabel.cpp
235 #####################################################################
237 #####################################################################
239 meta/lastfm/LastFmMeta.cpp
242 #####################################################################
244 #####################################################################
247 meta/EditCapability.cpp
248 meta/LastFmCapability.cpp
249 meta/CustomActionsCapability.cpp
251 meta/proxy/MetaProxy.cpp
253 meta/stream/Stream.cpp
254 meta/PlaylistFileSupport.cpp
258 #####################################################################
260 #####################################################################
262 collection/BlockingQuery.cpp
263 collection/Collection.cpp
264 collection/CollectionManager.cpp
265 collection/CollectionLocation.cpp
266 collection/MetaQueryBuilder.cpp
267 collection/QueryMaker.cpp
268 collection/support/MemoryMatcher.cpp
269 collection/support/MemoryQueryMaker.cpp
273 #####################################################################
275 #####################################################################
278 set( libcontextview_SRCS
280 context/Containment.cpp
281 context/ContextView.cpp
282 context/ContextObserver.cpp
283 context/ContextScene.cpp
284 context/CoverBling.cpp
285 context/DataEngineManager.cpp
286 context/LyricsManager.cpp
288 context/widgets/TextWidget.cpp
289 context/widgets/VBoxLayout.cpp
292 #####################################################################
294 #####################################################################
296 podcasts/PodcastCollection.cpp
297 podcasts/PodcastReader.cpp
300 #####################################################################
302 #####################################################################
303 set(libplaylistbrowser_SRCS
304 playlistbrowser/PlaylistBrowser.cpp
305 playlistbrowser/PodcastModel.cpp
308 #####################################################################
310 #####################################################################
311 set(libqueuemanager_SRCS
312 queuemanager/QueueManager.cpp
313 queuemanager/QueueModel.cpp
316 #####################################################################
318 #####################################################################
319 set(libplaylistmanager_SRCS
320 playlistmanager/PlaylistManager.cpp
323 #####################################################################
325 #####################################################################
327 playlist/PlaylistHeader.cpp
328 playlist/PlaylistItem.cpp
329 playlist/PlaylistModel.cpp
330 playlist/PlaylistWidget.cpp
331 playlist/RepeatTrackNavigator.cpp
332 playlist/StandardTrackNavigator.cpp
333 playlist/TrackNavigator.cpp
334 playlist/UndoCommands.cpp
335 playlist/PlaylistDropVis.cpp
336 playlist/PlaylistGraphicsItem.cpp
337 playlist/PlaylistGraphicsScene.cpp
338 playlist/PlaylistGraphicsView.cpp
339 playlist/PlaylistTextItem.cpp
340 playlist/PlaylistAlbumGroup.cpp
341 playlist/PlaylistClassicView.cpp
344 #####################################################################
346 #####################################################################
347 set(amaroklib_LIB_SRCS
348 ${libshoutcastservice_SRCS}
349 ${libmp3tunesservice_SRCS}
350 ${libampacheservice_SRCS}
351 ${libscriptableservice_SRCS}
352 ${libamarokcore_SRCS}
354 ${libcontextview_SRCS}
355 ${libcollectionbrowser_SRCS}
356 ${libconfigdialog_SRCS}
360 ${libservicebrowser_SRCS}
367 ${libplaylistbrowser_SRCS}
368 ${libqueuemanager_SRCS}
369 ${libplaylistmanager_SRCS}
380 deviceconfiguredialog.cpp
387 equalizerpresetmanager.cpp
392 filebrowserwidget.cpp
404 MediaDevicePluginManager.cpp
408 mountpointmanager.cpp
420 SmartPlaylistEditor.cpp
429 trackpickerdialog.cpp
432 widgets/analyzerwidget.cpp
433 widgets/progressslider.cpp
434 widgets/searchwidget.cpp
435 widgets/SidebarWidget.cpp
436 widgets/sliderwidget.cpp
437 widgets/volumewidget.cpp
438 widgets/MainToolbar.cpp
444 set( amaroklib_DEPENDS "amarokplasma" )
446 kde4_add_kcfg_files(amaroklib_LIB_SRCS amarokcore/amarokconfig.kcfgc)
448 kde4_add_ui3_files(amaroklib_LIB_SRCS
451 collectionbrowser/OrganizeCollectionDialog.ui
452 podcastsettingsbase.ui
454 # tagguesserconfigdialog.ui
455 trackpickerdialogbase.ui
458 kde4_add_ui_files(amaroklib_LIB_SRCS
461 tagguesserconfigdialog.ui
464 kde4_add_library(amaroklib SHARED ${amaroklib_LIB_SRCS})
466 target_link_libraries(amaroklib
467 ${KDE4_KUTILS_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KHTML_LIBS} ${KDE4_KNEWSTUFF_LIBS}
470 ${KDE4_KDE3SUPPORT_LIBS}
471 ${KDE4_THREADWEAVER_LIBRARIES}
472 ${QT_QTOPENGL_LIBRARY}
474 ${OPENGL_glu_LIBRARY}
480 target_link_libraries(amaroklib dl)
483 if(USE_SYSTEM_SQLITE)
484 target_link_libraries(amaroklib ${SQLITE_LIBRARIES})
485 endif(USE_SYSTEM_SQLITE)
487 set_target_properties(amaroklib PROPERTIES VERSION 1.0.0 SOVERSION 1 )
488 install(TARGETS amaroklib DESTINATION ${LIB_INSTALL_DIR} )
491 #####################################################################
493 #####################################################################
495 set(amarok_SRCS main.cpp )
498 kde4_add_executable(Amarok ${amarok_SRCS})
499 target_link_libraries(Amarok ${KDE4_KDECORE_LIBS} amaroklib )
500 install(TARGETS Amarok DESTINATION ${BIN_INSTALL_DIR})
504 kde4_add_executable(amarok ${amarok_SRCS})
505 target_link_libraries(amarok ${KDE4_KDECORE_LIBS} amaroklib )
506 install(TARGETS amarok DESTINATION ${BIN_INSTALL_DIR})
510 ########### install files ###############
512 install(FILES amarok.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
513 install(FILES amarok.profile.xml DESTINATION ${DATA_INSTALL_DIR}/profiles )
514 install(FILES amarokrc DESTINATION ${CONFIG_INSTALL_DIR})
515 install(FILES amarok_plugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
516 install(FILES amarok_append.desktop DESTINATION
517 ${SERVICES_INSTALL_DIR}/ServiceMenus)
519 install(FILES context/servicetypes/amarok_context_applet.desktop
520 context/servicetypes/amarok_data_engine.desktop
521 DESTINATION ${SERVICETYPES_INSTALL_DIR} )
523 kde4_install_icons( ${ICON_INSTALL_DIR} )