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 )
42 OPTION(USE_SYSTEM_SQLITE "Use system sqlite instead of amarok's own copy" OFF)
44 if (USE_SYSTEM_SQLITE)
45 find_package(Sqlite REQUIRED)
47 else (USE_SYSTEM_SQLITE)
49 set(libsqlite_SRCS sqlite/sqlite3.c)
50 endif (USE_SYSTEM_SQLITE)
64 #servicebrowser/magnatunestore
65 ${CMAKE_CURRENT_SOURCE_DIR}
71 ${CMAKE_CURRENT_BINARY_DIR} #for amarokconfig.h
78 set(libamarokcore_SRCS
79 amarokcore/amarokdbushandler.cpp
80 amarokcore/crashhandler.cpp
83 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.collection.xml amarokcore/amarokdbushandler.h Amarok::DbusCollectionHandler)
84 #qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.mediabrowser.xml amarokcore/amarokdbushandler.h Amarok::DbusMediaBrowserHandler)
85 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.player.xml amarokcore/amarokdbushandler.h Amarok::DbusPlayerHandler)
86 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.playlist.xml amarokcore/amarokdbushandler.h Amarok::DbusPlaylistHandler)
87 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.playlistbrowser.xml amarokcore/amarokdbushandler.h Amarok::DbusPlaylistBrowserHandler)
88 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.script.xml amarokcore/amarokdbushandler.h Amarok::DbusScriptHandler)
89 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.context.xml amarokcore/amarokdbushandler.h Amarok::DbusContextHandler)
91 #####################################################################
93 #####################################################################
96 plugin/pluginconfig.cpp
99 #####################################################################
101 #####################################################################
102 set(libservicebrowser_SRCS
103 servicebrowser/servicebrowser.cpp
104 servicebrowser/servicebase.cpp
105 servicebrowser/servicemetabase.cpp
106 servicebrowser/servicecollection.cpp
107 servicebrowser/servicesqlquerymaker.cpp
108 servicebrowser/servicesqlcollection.cpp
109 servicebrowser/ServiceDynamicCollection.cpp
110 servicebrowser/infoparserbase.cpp
111 servicebrowser/ServiceSqlRegistry.cpp
112 servicebrowser/ServiceAlbumCoverDownloader.cpp
113 servicebrowser/ServiceInfoProxy.cpp
114 servicebrowser/ServiceListModel.cpp
115 servicebrowser/ServiceListDelegate.cpp
116 servicebrowser/DynamicServiceQueryMaker.cpp
120 #####################################################################
122 #####################################################################
123 set(libscriptableservice_SRCS
124 servicebrowser/scriptableservice/scriptableservicemanager.cpp
125 servicebrowser/scriptableservice/ScriptableServiceInfoParser.cpp
126 servicebrowser/scriptableservice/scriptableservice.cpp
127 servicebrowser/scriptableservice/ScriptableServiceCollection.cpp
128 servicebrowser/scriptableservice/DynamicScriptableServiceMeta.cpp
129 servicebrowser/scriptableservice/DynamicScriptableServiceCollection.cpp
130 servicebrowser/scriptableservice/DynamicScriptableQueryMaker.cpp
133 #####################################################################
135 #####################################################################
136 set(libshoutcastservice_SRCS
137 servicebrowser/shoutcast/ShoutcastService.cpp
138 servicebrowser/shoutcast/ShoutcastServiceCollection.cpp
139 servicebrowser/shoutcast/ShoutcastServiceQueryMaker.cpp
144 #####################################################################
146 #####################################################################
147 set(libjamendoservice_SRCS
148 servicebrowser/jamendo/jamendoservice.cpp
149 servicebrowser/jamendo/JamendoMeta.cpp
150 servicebrowser/jamendo/jamendodatabasehandler.cpp
151 servicebrowser/jamendo/jamendoxmlparser.cpp
152 servicebrowser/jamendo/JamendoInfoParser.cpp
155 #####################################################################
157 #####################################################################
158 set(libmp3tunesservice_SRCS
159 servicebrowser/mp3tunes/mp3tunesservice.cpp
160 servicebrowser/mp3tunes/Mp3tunesServiceCollection.cpp
161 servicebrowser/mp3tunes/Mp3tunesServiceQueryMaker.cpp
162 servicebrowser/mp3tunes/Mp3tunesMeta.cpp
166 qt4_add_dbus_adaptor( libscriptableservice_SRCS servicebrowser/scriptableservice/org.kde.amarok.ScriptableServiceManager.xml servicebrowser/scriptableservice/scriptableservicemanager.h ScriptableServiceManager)
168 #####################################################################
170 #####################################################################
171 set(libconfigdialog_SRCS
172 configdialog/ConfigDialog.cpp
173 configdialog/ConfigDialogBase.cpp
174 configdialog/dialogs/AppearanceConfig.cpp
175 configdialog/dialogs/CollectionConfig.cpp
176 configdialog/dialogs/EngineConfig.cpp
177 configdialog/dialogs/GeneralConfig.cpp
178 configdialog/dialogs/LastfmConfig.cpp
179 configdialog/dialogs/MediadeviceConfig.cpp
180 configdialog/dialogs/OsdConfig.cpp
181 configdialog/dialogs/PlaybackConfig.cpp
184 kde4_add_ui_files(libconfigdialog_SRCS
185 configdialog/dialogs/AppearanceConfig.ui
186 configdialog/dialogs/CollectionConfig.ui
187 configdialog/dialogs/GeneralConfig.ui
188 configdialog/dialogs/LastfmConfig.ui
189 configdialog/dialogs/OsdConfig.ui
190 configdialog/dialogs/PlaybackConfig.ui
193 #####################################################################
195 #####################################################################
196 set(libmagnatunestore_SRCS
197 servicebrowser/magnatunestore/magnatuneinfoparser.cpp
198 servicebrowser/magnatunestore/MagnatuneStore.cpp
199 servicebrowser/magnatunestore/magnatunedownloaddialog.cpp
200 servicebrowser/magnatunestore/magnatunepurchasedialog.cpp
201 servicebrowser/magnatunestore/magnatunepurchasehandler.cpp
202 servicebrowser/magnatunestore/MagnatuneMeta.cpp
203 servicebrowser/magnatunestore/magnatunexmlparser.cpp
204 servicebrowser/magnatunestore/magnatunedatabasehandler.cpp
205 servicebrowser/magnatunestore/magnatuneredownloaddialog.cpp
206 servicebrowser/magnatunestore/magnatuneredownloadhandler.cpp
207 servicebrowser/magnatunestore/magnatunedownloadinfo.cpp
208 servicebrowser/magnatunestore/magnatunealbumdownloader.cpp
211 kde4_add_ui3_files(libmagnatunestore_SRCS
212 servicebrowser/magnatunestore/magnatunedownloaddialogbase.ui
213 #servicebrowser/magnatunestore/magnatunepurchasedialogbase.ui
214 servicebrowser/magnatunestore/magnatuneredownloaddialogbase.ui
217 kde4_add_ui_files(libconfigdialog_SRCS
218 servicebrowser/magnatunestore/magnatunepurchasedialogbase.ui
221 #####################################################################
223 #####################################################################
224 set(libcollectionbrowser_SRCS
225 collectionbrowser/CollectionTreeView.cpp
226 collectionbrowser/CollectionTreeItemModelBase.cpp
227 collectionbrowser/CollectionTreeItemModel.cpp
228 collectionbrowser/SingleCollectionTreeItemModel.cpp
229 collectionbrowser/CollectionSortFilterProxyModel.cpp
230 collectionbrowser/CollectionTreeItem.cpp
231 collectionbrowser/CollectionWidget.cpp
234 #####################################################################
236 #####################################################################
237 set(libanalyzers_SRCS
238 analyzers/analyzerbase.cpp
239 analyzers/analyzerfactory.cpp
240 analyzers/baranalyzer.cpp
241 analyzers/blockanalyzer.cpp
242 analyzers/glanalyzer.cpp
243 analyzers/glanalyzer2.cpp
244 analyzers/glanalyzer3.cpp
245 analyzers/sonogram.cpp
246 # analyzers/turbine.cpp
247 #analyzers/boomanalyzer.cpp
250 #####################################################################
252 #####################################################################
253 set(libstatusbar_SRCS
254 statusbar/statusBarBase.cpp
255 statusbar/statusbar.cpp
256 statusbar/overlayWidget.cpp
257 statusbar/popupMessage.cpp
258 statusbar/progressBar.cpp
259 #TODO: Port to new playlist
260 # statusbar/queueLabel.cpp
261 statusbar/selectLabel.cpp
264 #####################################################################
266 #####################################################################
268 meta/lastfm/LastFmMeta.cpp
271 #####################################################################
273 #####################################################################
276 meta/EditCapability.cpp
277 meta/LastFmCapability.cpp
279 meta/proxy/MetaProxy.cpp
281 meta/stream/Stream.cpp
282 meta/PlaylistFileSupport.cpp
286 #####################################################################
288 #####################################################################
290 collection/BlockingQuery.cpp
291 collection/Collection.cpp
292 collection/CollectionManager.cpp
293 collection/CollectionLocation.cpp
294 collection/MetaQueryBuilder.cpp
295 collection/QueryMaker.cpp
296 collection/support/MemoryMatcher.cpp
297 collection/support/MemoryQueryMaker.cpp
301 #####################################################################
303 #####################################################################
306 set( libcontextview_SRCS
308 context/Containment.cpp
309 context/ContextView.cpp
310 context/ContextObserver.cpp
311 context/ContextScene.cpp
312 context/CoverBling.cpp
313 context/DataEngineManager.cpp
314 context/LyricsManager.cpp
316 context/widgets/TextWidget.cpp
317 context/widgets/VBoxLayout.cpp
320 #####################################################################
322 #####################################################################
324 podcasts/PodcastCollection.cpp
325 podcasts/PodcastReader.cpp
328 #####################################################################
330 #####################################################################
331 set(libplaylistbrowser_SRCS
332 playlistbrowser/PlaylistBrowser.cpp
333 playlistbrowser/PodcastModel.cpp
336 #####################################################################
338 #####################################################################
339 set(libqueuemanager_SRCS
340 queuemanager/QueueManager.cpp
341 queuemanager/QueueModel.cpp
344 #####################################################################
346 #####################################################################
347 set(libplaylistmanager_SRCS
348 playlistmanager/PlaylistManager.cpp
351 #####################################################################
353 #####################################################################
355 playlist/PlaylistHeader.cpp
356 playlist/PlaylistItem.cpp
357 playlist/PlaylistModel.cpp
358 playlist/PlaylistWidget.cpp
359 playlist/RepeatTrackNavigator.cpp
360 playlist/StandardTrackNavigator.cpp
361 playlist/TrackNavigator.cpp
362 playlist/UndoCommands.cpp
363 playlist/PlaylistDropVis.cpp
364 playlist/PlaylistGraphicsItem.cpp
365 playlist/PlaylistGraphicsScene.cpp
366 playlist/PlaylistGraphicsView.cpp
367 playlist/PlaylistTextItem.cpp
368 playlist/PlaylistAlbumGroup.cpp
369 playlist/PlaylistClassicView.cpp
372 #####################################################################
374 #####################################################################
375 set(amaroklib_LIB_SRCS
376 ${libmagnatunestore_SRCS}
377 ${libshoutcastservice_SRCS}
378 ${libmp3tunesservice_SRCS}
379 ${libscriptableservice_SRCS}
380 ${libamarokcore_SRCS}
382 ${libcontextview_SRCS}
383 ${libcollectionbrowser_SRCS}
384 ${libconfigdialog_SRCS}
385 ${libjamendoservice_SRCS}
389 ${libservicebrowser_SRCS}
396 ${libplaylistbrowser_SRCS}
397 ${libqueuemanager_SRCS}
398 ${libplaylistmanager_SRCS}
409 deviceconfiguredialog.cpp
416 equalizerpresetmanager.cpp
421 filebrowserwidget.cpp
433 MediaDevicePluginManager.cpp
437 mountpointmanager.cpp
449 smartplaylisteditor.cpp
458 trackpickerdialog.cpp
461 widgets/analyzerwidget.cpp
462 widgets/progressslider.cpp
463 widgets/searchwidget.cpp
464 widgets/SidebarWidget.cpp
465 widgets/sliderwidget.cpp
466 widgets/volumewidget.cpp
467 widgets/MainToolbar.cpp
473 set( amaroklib_DEPENDS "amarokplasma" )
475 kde4_add_kcfg_files(amaroklib_LIB_SRCS amarokcore/amarokconfig.kcfgc)
477 kde4_add_ui3_files(amaroklib_LIB_SRCS
480 collectionbrowser/OrganizeCollectionDialog.ui
481 podcastsettingsbase.ui
483 # tagguesserconfigdialog.ui
484 trackpickerdialogbase.ui
487 kde4_add_ui_files(amaroklib_LIB_SRCS
490 tagguesserconfigdialog.ui
493 kde4_add_library(amaroklib SHARED ${amaroklib_LIB_SRCS})
495 target_link_libraries(amaroklib
496 ${KDE4_KUTILS_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KHTML_LIBS} ${KDE4_KNEWSTUFF_LIBS}
499 ${KDE4_KDE3SUPPORT_LIBS}
500 ${KDE4_THREADWEAVER_LIBRARIES}
501 ${QT_QTOPENGL_LIBRARY}
503 ${OPENGL_glu_LIBRARY}
509 target_link_libraries(amaroklib dl)
512 if(USE_SYSTEM_SQLITE)
513 target_link_libraries(amaroklib ${SQLITE_LIBRARIES})
514 endif(USE_SYSTEM_SQLITE)
516 set_target_properties(amaroklib PROPERTIES VERSION 1.0.0 SOVERSION 1 )
517 install(TARGETS amaroklib DESTINATION ${LIB_INSTALL_DIR} )
520 #####################################################################
522 #####################################################################
524 set(amarok_SRCS main.cpp )
527 kde4_add_executable(Amarok ${amarok_SRCS})
528 target_link_libraries(Amarok ${KDE4_KDECORE_LIBS} amaroklib )
529 install(TARGETS Amarok DESTINATION ${BIN_INSTALL_DIR})
533 kde4_add_executable(amarok ${amarok_SRCS})
534 target_link_libraries(amarok ${KDE4_KDECORE_LIBS} amaroklib )
535 install(TARGETS amarok DESTINATION ${BIN_INSTALL_DIR})
539 ########### install files ###############
541 install(FILES amarok.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
542 install(FILES amarok.profile.xml DESTINATION ${DATA_INSTALL_DIR}/profiles )
543 install(FILES amarokrc DESTINATION ${CONFIG_INSTALL_DIR})
544 install(FILES amarok_plugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
545 install(FILES amarok_append.desktop DESTINATION
546 ${SERVICES_INSTALL_DIR}/ServiceMenus)
548 install(FILES context/servicetypes/amarok_context_applet.desktop
549 context/servicetypes/amarok_data_engine.desktop
550 DESTINATION ${SERVICETYPES_INSTALL_DIR} )
552 kde4_install_icons( ${ICON_INSTALL_DIR} )