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( portabledevices )
39 add_subdirectory( strigi )
40 add_subdirectory( context )
41 add_subdirectory( playlistmanager )
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)
66 #servicebrowser/magnatunestore
67 ${CMAKE_CURRENT_SOURCE_DIR}
73 ${CMAKE_CURRENT_BINARY_DIR} #for amarokconfig.h
80 set(libamarokcore_SRCS
81 amarokcore/amarokdbushandler.cpp
82 amarokcore/crashhandler.cpp
85 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.collection.xml amarokcore/amarokdbushandler.h Amarok::DbusCollectionHandler)
86 #qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.mediabrowser.xml amarokcore/amarokdbushandler.h Amarok::DbusMediaBrowserHandler)
87 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.player.xml amarokcore/amarokdbushandler.h Amarok::DbusPlayerHandler)
88 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.playlist.xml amarokcore/amarokdbushandler.h Amarok::DbusPlaylistHandler)
89 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.playlistbrowser.xml amarokcore/amarokdbushandler.h Amarok::DbusPlaylistBrowserHandler)
90 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.script.xml amarokcore/amarokdbushandler.h Amarok::DbusScriptHandler)
91 qt4_add_dbus_adaptor( libamarokcore_SRCS amarokcore/org.kde.amarok.context.xml amarokcore/amarokdbushandler.h Amarok::DbusContextHandler)
93 #####################################################################
95 #####################################################################
98 plugin/pluginconfig.cpp
101 #####################################################################
103 #####################################################################
104 set(libservicebrowser_SRCS
105 servicebrowser/servicebrowser.cpp
106 servicebrowser/servicebase.cpp
107 servicebrowser/servicemetabase.cpp
108 servicebrowser/servicecollection.cpp
109 servicebrowser/servicesqlquerymaker.cpp
110 servicebrowser/servicesqlcollection.cpp
111 servicebrowser/infoparserbase.cpp
112 servicebrowser/ServiceSqlRegistry.cpp
113 servicebrowser/ServiceAlbumCoverDownloader.cpp
114 servicebrowser/ServiceInfoProxy.cpp
115 servicebrowser/ServiceListModel.cpp
116 servicebrowser/ServiceListDelegate.cpp
117 servicebrowser/DynamicServiceQueryMaker.cpp
121 #####################################################################
123 #####################################################################
124 set(libscriptableservice_SRCS
125 servicebrowser/scriptableservice/scriptableservicemanager.cpp
126 servicebrowser/scriptableservice/ScriptableServiceInfoParser.cpp
127 servicebrowser/scriptableservice/scriptableservice.cpp
128 servicebrowser/scriptableservice/ScriptableServiceCollection.cpp
131 #####################################################################
133 #####################################################################
134 set(libshoutcastservice_SRCS
135 servicebrowser/shoutcast/ShoutcastService.cpp
136 servicebrowser/shoutcast/ShoutcastServiceCollection.cpp
137 servicebrowser/shoutcast/ShoutcastServiceQueryMaker.cpp
142 #####################################################################
144 #####################################################################
145 set(libjamendoservice_SRCS
146 servicebrowser/jamendo/jamendoservice.cpp
147 servicebrowser/jamendo/JamendoMeta.cpp
148 servicebrowser/jamendo/jamendodatabasehandler.cpp
149 servicebrowser/jamendo/jamendoxmlparser.cpp
150 servicebrowser/jamendo/JamendoInfoParser.cpp
153 #####################################################################
155 #####################################################################
156 set(libmp3tunesservice_SRCS
157 servicebrowser/mp3tunes/mp3tunesservice.cpp
158 servicebrowser/mp3tunes/Mp3tunesServiceCollection.cpp
159 servicebrowser/mp3tunes/Mp3tunesServiceQueryMaker.cpp
163 qt4_add_dbus_adaptor( libscriptableservice_SRCS servicebrowser/scriptableservice/org.kde.amarok.ScriptableServiceManager.xml servicebrowser/scriptableservice/scriptableservicemanager.h ScriptableServiceManager)
165 #####################################################################
167 #####################################################################
168 set(libconfigdialog_SRCS
169 configdialog/ConfigDialog.cpp
170 configdialog/ConfigDialogBase.cpp
171 configdialog/dialogs/AppearanceConfig.cpp
172 configdialog/dialogs/CollectionConfig.cpp
173 configdialog/dialogs/EngineConfig.cpp
174 configdialog/dialogs/GeneralConfig.cpp
175 configdialog/dialogs/LastfmConfig.cpp
176 #configdialog/dialogs/MediadeviceConfig.cpp
177 configdialog/dialogs/OsdConfig.cpp
178 configdialog/dialogs/PlaybackConfig.cpp
181 kde4_add_ui_files(libconfigdialog_SRCS
182 configdialog/dialogs/AppearanceConfig.ui
183 configdialog/dialogs/CollectionConfig.ui
184 configdialog/dialogs/GeneralConfig.ui
185 configdialog/dialogs/LastfmConfig.ui
186 configdialog/dialogs/OsdConfig.ui
187 configdialog/dialogs/PlaybackConfig.ui
190 #####################################################################
192 #####################################################################
193 set(libmagnatunestore_SRCS
194 servicebrowser/magnatunestore/magnatuneinfoparser.cpp
195 servicebrowser/magnatunestore/MagnatuneStore.cpp
196 servicebrowser/magnatunestore/magnatunedownloaddialog.cpp
197 servicebrowser/magnatunestore/magnatunepurchasedialog.cpp
198 servicebrowser/magnatunestore/magnatunepurchasehandler.cpp
199 #servicebrowser/magnatunestore/magnatunetypes.cpp
200 servicebrowser/magnatunestore/MagnatuneMeta.cpp
201 servicebrowser/magnatunestore/magnatunexmlparser.cpp
202 servicebrowser/magnatunestore/magnatunedatabasehandler.cpp
203 servicebrowser/magnatunestore/magnatuneredownloaddialog.cpp
204 servicebrowser/magnatunestore/magnatuneredownloadhandler.cpp
205 servicebrowser/magnatunestore/magnatunedownloadinfo.cpp
206 servicebrowser/magnatunestore/magnatunealbumdownloader.cpp
209 kde4_add_ui3_files(libmagnatunestore_SRCS
210 servicebrowser/magnatunestore/magnatunedownloaddialogbase.ui
211 #servicebrowser/magnatunestore/magnatunepurchasedialogbase.ui
212 servicebrowser/magnatunestore/magnatuneredownloaddialogbase.ui
215 kde4_add_ui_files(libconfigdialog_SRCS
216 servicebrowser/magnatunestore/magnatunepurchasedialogbase.ui
219 #####################################################################
221 #####################################################################
222 set(libcollectionbrowser_SRCS
223 collectionbrowser/CollectionTreeView.cpp
224 collectionbrowser/CollectionTreeItemModelBase.cpp
225 collectionbrowser/CollectionTreeItemModel.cpp
226 collectionbrowser/SingleCollectionTreeItemModel.cpp
227 collectionbrowser/CollectionSortFilterProxyModel.cpp
228 collectionbrowser/CollectionTreeItem.cpp
229 collectionbrowser/CollectionWidget.cpp
232 #####################################################################
234 #####################################################################
235 set(libanalyzers_SRCS
236 analyzers/analyzerbase.cpp
237 analyzers/analyzerfactory.cpp
238 analyzers/baranalyzer.cpp
239 analyzers/blockanalyzer.cpp
240 analyzers/glanalyzer.cpp
241 analyzers/glanalyzer2.cpp
242 analyzers/glanalyzer3.cpp
243 analyzers/sonogram.cpp
244 # analyzers/turbine.cpp
245 #analyzers/boomanalyzer.cpp
248 #####################################################################
250 #####################################################################
251 set(libstatusbar_SRCS
252 statusbar/statusBarBase.cpp
253 statusbar/statusbar.cpp
254 statusbar/overlayWidget.cpp
255 statusbar/popupMessage.cpp
256 statusbar/progressBar.cpp
257 #TODO: Port to new playlist
258 # statusbar/queueLabel.cpp
259 statusbar/selectLabel.cpp
262 #####################################################################
264 #####################################################################
266 meta/lastfm/LastFmMeta.cpp
269 #####################################################################
271 #####################################################################
274 meta/EditCapability.cpp
275 meta/LastFmCapability.cpp
277 meta/proxy/MetaProxy.cpp
279 meta/stream/Stream.cpp
280 meta/PlaylistFileSupport.cpp
284 #####################################################################
286 #####################################################################
288 collection/BlockingQuery.cpp
289 collection/Collection.cpp
290 collection/CollectionManager.cpp
291 collection/CollectionLocation.cpp
292 collection/MetaQueryBuilder.cpp
293 collection/QueryMaker.cpp
294 collection/support/MemoryMatcher.cpp
295 collection/support/MemoryQueryMaker.cpp
299 #####################################################################
301 #####################################################################
304 set( libcontextview_SRCS
306 context/Containment.cpp
307 context/ContextView.cpp
308 context/ContextObserver.cpp
309 context/ContextScene.cpp
310 context/ControlBox.cpp
311 context/CoverBling.cpp
312 context/DataEngineManager.cpp
313 context/LyricsManager.cpp
315 context/widgets/TextWidget.cpp
316 context/widgets/VBoxLayout.cpp
319 #####################################################################
321 #####################################################################
323 podcasts/PodcastCollection.cpp
324 podcasts/PodcastReader.cpp
327 #####################################################################
329 #####################################################################
330 set(libplaylistbrowser_SRCS
331 playlistbrowser/PlaylistBrowser.cpp
332 playlistbrowser/PodcastModel.cpp
335 #####################################################################
337 #####################################################################
338 set(libqueuemanager_SRCS
339 queuemanager/QueueManager.cpp
340 queuemanager/QueueModel.cpp
343 #####################################################################
345 #####################################################################
346 set(libplaylistmanager_SRCS
347 playlistmanager/PlaylistManager.cpp
350 #####################################################################
352 #####################################################################
354 playlist/PlaylistHeader.cpp
355 playlist/PlaylistItem.cpp
356 playlist/PlaylistModel.cpp
357 playlist/PlaylistWidget.cpp
358 playlist/RepeatTrackNavigator.cpp
359 playlist/StandardTrackNavigator.cpp
360 playlist/TrackNavigator.cpp
361 playlist/UndoCommands.cpp
362 playlist/PlaylistDropVis.cpp
363 playlist/PlaylistGraphicsItem.cpp
364 playlist/PlaylistGraphicsScene.cpp
365 playlist/PlaylistGraphicsView.cpp
366 playlist/PlaylistTextItem.cpp
367 playlist/PlaylistAlbumGroup.cpp
368 playlist/PlaylistClassicView.cpp
371 #####################################################################
373 #####################################################################
374 set(amaroklib_LIB_SRCS
375 ${libmagnatunestore_SRCS}
376 ${libshoutcastservice_SRCS}
377 ${libmp3tunesservice_SRCS}
378 ${libscriptableservice_SRCS}
379 ${libamarokcore_SRCS}
381 ${libcontextview_SRCS}
382 ${libcollectionbrowser_SRCS}
383 ${libconfigdialog_SRCS}
384 ${libjamendoservice_SRCS}
388 ${libservicebrowser_SRCS}
395 ${libplaylistbrowser_SRCS}
396 ${libqueuemanager_SRCS}
397 ${libplaylistmanager_SRCS}
408 deviceconfiguredialog.cpp
415 equalizerpresetmanager.cpp
420 filebrowserwidget.cpp
435 mountpointmanager.cpp
447 smartplaylisteditor.cpp
456 trackpickerdialog.cpp
459 widgets/analyzerwidget.cpp
460 widgets/progressslider.cpp
461 widgets/searchwidget.cpp
462 widgets/SidebarWidget.cpp
463 widgets/sliderwidget.cpp
464 widgets/volumewidget.cpp
465 widgets/MainToolbar.cpp
471 set( amaroklib_DEPENDS "amarokplasma" )
473 kde4_add_kcfg_files(amaroklib_LIB_SRCS amarokcore/amarokconfig.kcfgc)
475 kde4_add_ui3_files(amaroklib_LIB_SRCS
478 collectionbrowser/OrganizeCollectionDialog.ui
479 podcastsettingsbase.ui
481 # tagguesserconfigdialog.ui
482 trackpickerdialogbase.ui
485 kde4_add_ui_files(amaroklib_LIB_SRCS
488 tagguesserconfigdialog.ui
491 kde4_add_library(amaroklib SHARED ${amaroklib_LIB_SRCS})
493 target_link_libraries(amaroklib
494 ${KDE4_KUTILS_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KHTML_LIBS} ${KDE4_KNEWSTUFF_LIBS}
497 ${KDE4_KDE3SUPPORT_LIBS}
498 ${KDE4_THREADWEAVER_LIBRARIES}
499 ${QT_QTOPENGL_LIBRARY}
501 ${OPENGL_glu_LIBRARY}
507 target_link_libraries(amaroklib dl)
510 if(USE_SYSTEM_SQLITE)
511 target_link_libraries(amaroklib ${SQLITE_LIBRARIES})
512 endif(USE_SYSTEM_SQLITE)
514 set_target_properties(amaroklib PROPERTIES VERSION 1.0.0 SOVERSION 1 )
515 install(TARGETS amaroklib DESTINATION ${LIB_INSTALL_DIR} )
518 #####################################################################
520 #####################################################################
522 set(amarok_SRCS main.cpp )
525 kde4_add_executable(Amarok ${amarok_SRCS})
526 target_link_libraries(Amarok ${KDE4_KDECORE_LIBS} amaroklib )
527 install(TARGETS Amarok DESTINATION ${BIN_INSTALL_DIR})
531 kde4_add_executable(amarok ${amarok_SRCS})
532 target_link_libraries(amarok ${KDE4_KDECORE_LIBS} amaroklib )
533 install(TARGETS amarok DESTINATION ${BIN_INSTALL_DIR})
537 ########### install files ###############
539 install(FILES amarok.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
540 install(FILES amarok.profile.xml DESTINATION ${DATA_INSTALL_DIR}/profiles )
541 install(FILES amarokrc DESTINATION ${CONFIG_INSTALL_DIR})
542 install(FILES amarok_plugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
543 install(FILES amarok_append.desktop DESTINATION ${DATA_INSTALL_DIR}/konqueror/servicemenus)
545 install(FILES context/servicetypes/amarok_context_applet.desktop
546 context/servicetypes/amarok_data_engine.desktop
547 DESTINATION ${SERVICETYPES_INSTALL_DIR} )
549 kde4_install_icons( ${ICON_INSTALL_DIR} )