1
ADD_DEFINITIONS(${TAGLIB_CFLAGS})
2
3
if(APPLE)
4
    set(mac_SRCS
5
        app_mac.cpp
6
        mac/GrowlInterface.cpp
7
    )
8
9
    include_directories ( services/lastfm/ )
10
    set( MAC_FILES_DIR  ${CMAKE_SOURCE_DIR}/src/mac )
11
endif(APPLE)
12
13
# add_subdirectory( playlistmanager )
14
add_subdirectory( collection )
15
#dont use our own libplasma anymore, but still pick up our applets/engines/containments
16
add_subdirectory( context )
17
add_subdirectory( images )
18
add_subdirectory( services )
19
add_subdirectory( scripts )
20
add_subdirectory( themes )
21
22
if( STRIGI_FOUND )
23
    add_subdirectory( strigi )
24
endif( STRIGI_FOUND )
25
26
include_directories(
27
    amarokurls
28
    browsers/
29
    browsers/playlistbrowser
30
    browsers/servicebrowser
31
    browsers/servicebrowser/scriptableservice
32
    collection
33
    collection/mediadevicecollection/support # for MediaDeviceInfo
34
    configdialog
35
    configdialog/dialogs
36
    context
37
    context/widgets
38
    dbus
39
    dialogs
40
    dynamic
41
    meta
42
    meta/capabilities
43
    playlistmanager
44
    plugin
45
    podcasts
46
    statusbar
47
    timecode
48
    widgets
49
    ${CMAKE_CURRENT_BINARY_DIR} #for amarokconfig.h
50
    ${KDE4_INCLUDE_DIR}
51
    ${TAGLIB_INCLUDES}
52
    ${TAGLIB-EXTRAS_INCLUDE_DIR}
53
    ${QT_INCLUDES}
54
    ${QT_QTSCRIPT_INCLUDE_DIR}
55
)
56
57
if ( KDEMULTIMEDIA_FOUND )
58
    include_directories( ${KDEMULTIMEDIA_INCLUDE_DIR} )
59
endif ( KDEMULTIMEDIA_FOUND )
60
61
#####################################################################
62
# PLUGIN
63
#####################################################################
64
set(libplugin_SRCS
65
    plugin/plugin.cpp
66
    plugin/pluginconfig.cpp
67
)
68
69
#####################################################################
70
# SERVICEFRAMEWORK
71
#####################################################################
72
set(libserviceframework_SRCS
73
    services/DynamicServiceQueryMaker.cpp
74
    services/InfoParserBase.cpp
75
    services/ServiceAlbumCoverDownloader.cpp
76
    services/ServiceBase.cpp
77
    services/ServiceBookmarkThisCapability.cpp
78
    services/ServiceCollection.cpp
79
    services/ServiceCollectionLocation.cpp
80
    services/ServiceCollectionTreeView.cpp
81
    services/ServiceCurrentTrackActionsCapability.cpp
82
    services/ServiceCustomActionsCapability.cpp
83
    services/ServiceMetaBase.cpp
84
    services/ServicePluginManager.cpp
85
    services/ServiceSourceInfoCapability.cpp
86
    services/ServiceSqlCollection.cpp
87
    services/ServiceSqlQueryMaker.cpp
88
    services/ServiceSqlRegistry.cpp
89
    services/ShowInServiceAction.cpp
90
)
91
92
93
#####################################################################
94
# SERVICEBROWSER
95
#####################################################################
96
set(libservicebrowser_SRCS
97
    browsers/servicebrowser/ServiceBrowser.cpp
98
)
99
100
#####################################################################
101
# AMAROKURL
102
#####################################################################
103
set(libamarokurl_SRCS
104
    amarokurls/AmarokUrl.cpp
105
    amarokurls/AmarokUrlHandler.cpp
106
    amarokurls/NavigationUrlRunner.cpp
107
    amarokurls/NavigationUrlGenerator.cpp
108
    amarokurls/PlayUrlRunner.cpp
109
    amarokurls/PlayUrlGenerator.cpp
110
    amarokurls/BookmarkManagerWidget.cpp
111
    amarokurls/BookmarkGroup.cpp
112
    amarokurls/BookmarkModel.cpp
113
    amarokurls/BookmarkTreeView.cpp
114
    amarokurls/BookmarkMetaActions.cpp
115
    timecode/TimecodeObserver.cpp
116
    timecode/TimecodeMeta.cpp
117
    timecode/TimecodeTrackProvider.cpp
118
)
119
120
#####################################################################
121
# SCRIPTABLESERVICE
122
#####################################################################
123
set(libscriptableservice_SRCS
124
    services/scriptable/ScriptableService.cpp
125
    services/scriptable/ScriptableServiceCollection.cpp
126
    services/scriptable/ScriptableServiceInfoParser.cpp
127
    services/scriptable/ScriptableServiceManager.cpp
128
    services/scriptable/ScriptableServiceMeta.cpp
129
    services/scriptable/ScriptableServiceQueryMaker.cpp
130
)
131
132
#####################################################################
133
# CONFIGDIALOG
134
#####################################################################
135
set(libconfigdialog_SRCS
136
    configdialog/ConfigDialog.cpp
137
    configdialog/ConfigDialogBase.cpp
138
    configdialog/dialogs/CollectionConfig.cpp
139
    configdialog/dialogs/GeneralConfig.cpp
140
    configdialog/dialogs/OsdConfig.cpp
141
    configdialog/dialogs/PlaybackConfig.cpp
142
    configdialog/dialogs/ServiceConfig.cpp
143
)
144
145
kde4_add_ui_files(libconfigdialog_SRCS
146
    configdialog/dialogs/CollectionConfig.ui
147
    configdialog/dialogs/GeneralConfig.ui
148
    configdialog/dialogs/OsdConfig.ui
149
    configdialog/dialogs/PlaybackConfig.ui
150
)
151
152
set(libbrowserframework_SRCS
153
    browsers/BreadcrumbItem.cpp
154
    browsers/BreadcrumbItemButton.cpp
155
    browsers/BreadcrumbWidget.cpp
156
    browsers/BrowserCategory.cpp
157
    browsers/BrowserCategoryList.cpp
158
    browsers/BrowserCategoryListDelegate.cpp
159
    browsers/BrowserCategoryListModel.cpp
160
    browsers/BrowserCategoryListSortFilterProxyModel.cpp
161
    browsers/BrowserWidget.cpp
162
    browsers/CollectionSortFilterProxyModel.cpp
163
    browsers/CollectionTreeItem.cpp
164
    browsers/CollectionTreeItemModel.cpp
165
    browsers/CollectionTreeItemModelBase.cpp
166
    browsers/CollectionTreeView.cpp
167
    browsers/InfoProxy.cpp
168
    browsers/SingleCollectionTreeItemModel.cpp
169
)
170
171
#####################################################################
172
# COLLECTIONBROWSER
173
#####################################################################
174
set(libcollectionbrowser_SRCS
175
    browsers/collectionbrowser/CollectionTreeItemDelegate.cpp
176
    browsers/collectionbrowser/CollectionBrowserTreeView.cpp
177
    browsers/collectionbrowser/CollectionWidget.cpp
178
)
179
180
#####################################################################
181
# ANALYZERS
182
#####################################################################
183
#set(libanalyzers_SRCS
184
#    analyzers/analyzerbase.cpp
185
#    analyzers/analyzerfactory.cpp
186
#    analyzers/baranalyzer.cpp
187
#    analyzers/blockanalyzer.cpp
188
#    analyzers/glanalyzer.cpp
189
#    analyzers/glanalyzer2.cpp
190
#    analyzers/glanalyzer3.cpp
191
#    analyzers/sonogram.cpp
192
#    analyzers/turbine.cpp
193
#    analyzers/boomanalyzer.cpp
194
#)
195
196
#####################################################################
197
# STATUSBAR
198
#####################################################################
199
set(libstatusbar_SRCS
200
    statusbar/StatusBar.cpp
201
    statusbar/ProgressBar.cpp
202
    statusbar/KJobProgressBar.cpp
203
    statusbar/CompoundProgressBar.cpp
204
    statusbar/PopupWidget.cpp
205
    statusbar/LongMessageWidget.cpp
206
)
207
208
#####################################################################
209
# META
210
#####################################################################
211
set(meta_SRCS
212
    meta/Capability.cpp
213
    meta/M3UPlaylist.cpp
214
    meta/Meta.cpp
215
    meta/MetaUtility.cpp
216
    meta/MetaReplayGain.cpp
217
    meta/PLSPlaylist.cpp
218
    meta/SqlPlaylist.cpp
219
    meta/StatisticsProvider.cpp
220
    meta/PlaylistFileSupport.cpp
221
    meta/PrivateMetaRegistry.cpp
222
    meta/XSPFPlaylist.cpp
223
    meta/capabilities/BookmarkThisCapability.cpp
224
    meta/capabilities/BoundedPlaybackCapability.cpp
225
    meta/capabilities/CollectionCapability.cpp
226
    meta/capabilities/CurrentTrackActionsCapability.cpp
227
    meta/capabilities/CustomActionsCapability.cpp
228
    meta/capabilities/EditCapability.cpp
229
    meta/capabilities/EditablePlaylistCapability.cpp
230
    meta/capabilities/LastFmCapability.cpp
231
    meta/capabilities/MultiPlayableCapability.cpp
232
    meta/capabilities/MultiSourceCapability.cpp
233
    meta/capabilities/OrganiseCapability.cpp
234
    meta/capabilities/SourceInfoCapability.cpp
235
    meta/capabilities/StatisticsCapability.cpp
236
    meta/capabilities/StreamInfoCapability.cpp
237
    meta/capabilities/TimecodeLoadCapability.cpp
238
    meta/capabilities/TimecodeWriteCapability.cpp
239
    meta/capabilities/UpdateCapability.cpp
240
    meta/file/File.cpp
241
    meta/multi/MultiTrack.cpp
242
    meta/multi/MultiSourceCapabilityImpl.cpp
243
    meta/cue/Cue.cpp
244
    meta/proxy/MetaProxy.cpp
245
    meta/stream/Stream.cpp
246
    meta/support/PermanentUrlStatisticsProvider.cpp
247
    meta/support/TagStatisticsProvider.cpp
248
)
249
250
#####################################################################
251
# COLLECTION
252
#####################################################################
253
set(collection_SRCS
254
    collection/Collection.cpp
255
    collection/CollectionManager.cpp
256
    collection/CollectionLocation.cpp
257
    collection/MetaQueryMaker.cpp
258
    collection/QueryMaker.cpp
259
    collection/TrackForUrlWorker.cpp
260
    collection/support/MemoryCustomValue.cpp
261
    collection/support/MemoryFilter.cpp
262
    collection/support/MemoryMatcher.cpp
263
    collection/support/MemoryQueryMaker.cpp
264
    collection/support/MemoryQueryMakerHelper.cpp
265
    collection/support/XmlQueryReader.cpp
266
    collection/support/XmlQueryWriter.cpp
267
    collection/support/FileCollectionLocation.cpp
268
)
269
270
#####################################################################
271
# CONTEXT
272
#####################################################################
273
#
274
275
set( libcontextview_SRCS
276
    context/Applet.cpp
277
    context/Containment.cpp
278
    context/ContextObserver.cpp
279
    context/ContextScene.cpp
280
    context/ContextView.cpp
281
    context/LyricsManager.cpp
282
    context/ToolbarView.cpp
283
    context/layouts/ContextLayout.cpp
284
    context/layouts/VerticalLayout.cpp
285
    context/toolbar/AppletItemOverlay.cpp
286
    context/toolbar/AppletToolbar.cpp
287
    context/toolbar/AppletToolbarAddItem.cpp
288
    context/toolbar/AppletToolbarAppletItem.cpp
289
    context/toolbar/AppletToolbarBase.cpp
290
    context/toolbar/AppletToolbarConfigItem.cpp
291
    context/widgets/RatingWidget.cpp
292
    context/widgets/TextScrollingWidget.cpp    
293
    context/widgets/ToolBoxIcon.cpp
294
    context/widgets/ContainmentArrow.cpp
295
    context/widgets/ContainmentSelectionLayer.cpp
296
    context/widgets/ToolBoxMenu.cpp
297
    context/widgets/TrackWidget.cpp
298
)
299
300
#####################################################################
301
# PODCASTS
302
#####################################################################
303
set(libpodcasts_SRCS
304
    podcasts/PodcastReader.cpp
305
    podcasts/sql/SqlPodcastMeta.cpp
306
    podcasts/sql/SqlPodcastProvider.cpp
307
)
308
309
#####################################################################
310
# PLAYLISTBROWSER
311
#####################################################################
312
set(libplaylistbrowser_SRCS
313
    browsers/playlistbrowser/DynamicModel.cpp
314
    browsers/playlistbrowser/DynamicCategory.cpp
315
    browsers/playlistbrowser/DynamicBiasDelegate.cpp
316
    browsers/playlistbrowser/DynamicBiasModel.cpp
317
    browsers/playlistbrowser/DynamicBiasWidgets.cpp
318
    browsers/playlistbrowser/PlaylistBrowser.cpp
319
    browsers/playlistbrowser/UserPlaylistModel.cpp
320
    browsers/playlistbrowser/UserPlaylistTreeView.cpp
321
    browsers/playlistbrowser/PlaylistCategory.cpp
322
    browsers/playlistbrowser/PlaylistsInGroupsProxy.cpp
323
    browsers/playlistbrowser/PodcastModel.cpp
324
    browsers/playlistbrowser/PodcastCategory.cpp
325
)
326
327
#####################################################################
328
# PLAYLISTMANAGER
329
#####################################################################
330
set(libplaylistmanager_SRCS
331
    playlistmanager/PlaylistManager.cpp
332
    playlistmanager/PlaylistFileProvider.cpp
333
    playlistmanager/sql/SqlUserPlaylistProvider.cpp
334
    playlistmanager/sql/SqlPlaylistGroup.cpp
335
)
336
337
#####################################################################
338
# PLAYLIST
339
#####################################################################
340
set(libplaylist_SRCS
341
    playlist/PlaylistActions.cpp
342
    playlist/PlaylistController.cpp
343
    playlist/PlaylistHeader.cpp
344
    playlist/PlaylistItem.cpp
345
    playlist/PlaylistModel.cpp
346
    playlist/PlaylistSortWidget.cpp
347
    playlist/PlaylistWidget.cpp
348
    playlist/UndoCommands.cpp
349
    playlist/layouts/LayoutEditWidget.cpp
350
    playlist/layouts/LayoutConfigAction.cpp
351
    playlist/layouts/LayoutItemConfig.cpp
352
    playlist/layouts/LayoutManager.cpp
353
    playlist/navigators/DynamicTrackNavigator.cpp
354
    playlist/navigators/RandomAlbumNavigator.cpp
355
    playlist/navigators/RandomTrackNavigator.cpp
356
    playlist/navigators/RepeatAlbumNavigator.cpp
357
    playlist/navigators/RepeatTrackNavigator.cpp
358
    playlist/navigators/StandardTrackNavigator.cpp
359
    playlist/navigators/TrackNavigator.cpp
360
    playlist/view/PlaylistViewCommon.cpp
361
    playlist/view/listview/PrettyItemDelegate.cpp
362
    playlist/view/listview/PrettyListView.cpp
363
    playlist/view/listview/SourceSelectionPopup.cpp
364
    playlist/proxymodels/FilterProxy.cpp
365
    playlist/proxymodels/GroupingProxy.cpp
366
    playlist/proxymodels/SortAlgorithms.cpp
367
    playlist/proxymodels/SortProxy.cpp
368
    playlist/proxymodels/SortScheme.cpp
369
)
370
371
#####################################################################
372
# AUDIO CD SUPPORT
373
#####################################################################
374
375
if(KDEMULTIMEDIA_FOUND)
376
    set(audiocdsupport_SRCS
377
        meta/audiocd/AudioCdTrackProvider.cpp
378
        meta/audiocd/AudioCdTrackProvider_p.cpp
379
       )
380
endif(KDEMULTIMEDIA_FOUND)
381
382
#####################################################################
383
# DBUS
384
#####################################################################
385
set(dbus_SRCS
386
    dbus/RootDBusHandler.cpp
387
    dbus/PlayerDBusHandler.cpp
388
    dbus/TracklistDBusHandler.cpp
389
    dbus/CollectionDBusHandler.cpp
390
    dbus/DBusQueryHelper.cpp
391
)
392
393
394
#####################################################################
395
# SCRIPTING INTERFACE
396
#####################################################################
397
set(scriptengine_SRCS
398
    scriptengine/AmarokScript.cpp
399
    scriptengine/AmarokCollectionScript.cpp
400
    scriptengine/AmarokScriptConfig.cpp
401
    scriptengine/AmarokInfoScript.cpp
402
    scriptengine/AmarokNetworkScript.cpp
403
    scriptengine/AmarokScriptableServiceScript.cpp
404
    scriptengine/AmarokServicePluginManagerScript.cpp
405
    scriptengine/AmarokEngineScript.cpp
406
    scriptengine/AmarokOSDScript.cpp
407
    scriptengine/AmarokPlaylistScript.cpp
408
    scriptengine/AmarokStatusbarScript.cpp
409
    scriptengine/AmarokWindowScript.cpp
410
    scriptengine/AmarokLyricsScript.cpp
411
    scriptengine/MetaTypeExporter.cpp
412
    scriptengine/ScriptImporter.cpp
413
)
414
415
#####################################################################
416
# DYNAMIC
417
#####################################################################
418
set(libdynamic_SRCS
419
    dynamic/BiasedPlaylist.cpp
420
    dynamic/DynamicPlaylist.cpp
421
    dynamic/Bias.cpp
422
    dynamic/CustomBias.cpp
423
    dynamic/CustomBiasEntry.cpp
424
    dynamic/CustomBiasEntryWidget.cpp
425
    dynamic/BiasSolver.cpp
426
    dynamic/TrackSet.cpp
427
    dynamic/gsl/gauss.c
428
429
    # biases
430
    dynamic/biases/EchoNest.cpp
431
)
432
433
#####################################################################
434
# LIBAMAROK
435
#####################################################################
436
set(amaroklib_LIB_SRCS
437
    ${libscriptableservice_SRCS}
438
    ${libanalyzers_SRCS}
439
    ${libbrowserframework_SRCS}
440
    ${libcontextview_SRCS}
441
    ${libcollectionbrowser_SRCS}
442
    ${libconfigdialog_SRCS}
443
    ${libplaylist_SRCS}
444
    ${libplugin_SRCS}
445
    ${libpodcasts_SRCS}
446
    ${libserviceframework_SRCS}
447
    ${libservicebrowser_SRCS}
448
    ${libdynamic_SRCS}
449
    ${meta_SRCS}
450
    ${collection_SRCS}
451
    ${mac_SRCS}
452
    ${libplaylistbrowser_SRCS}
453
    ${libqueuemanager_SRCS}
454
    ${libplaylistmanager_SRCS}
455
    ${dbus_SRCS}
456
    ${scriptengine_SRCS}
457
    ${libstatusbar_SRCS}
458
    ${libamarokurl_SRCS}
459
    ActionClasses.cpp
460
    AmarokMimeData.cpp
461
    AmarokProcess.cpp
462
    App.cpp
463
    CaseConverter.cpp
464
    DirectoryLoader.cpp
465
    EngineController.cpp
466
    EngineObserver.cpp
467
    Expression.cpp
468
    MainWindow.cpp
469
    MediaDeviceCache.cpp
470
    MediaDeviceMonitor.cpp
471
    PluginManager.cpp
472
    SmartPointerList.cpp
473
    StarManager.cpp
474
    SvgHandler.cpp
475
    SvgTinter.cpp
476
    covermanager/CoverFetcher.cpp
477
    covermanager/CoverFetchingActions.cpp
478
    covermanager/CoverManager.cpp
479
    databaseimporter/DatabaseImporter.cpp
480
    databaseimporter/amarok14/FastForwardImporter.cpp
481
    databaseimporter/amarok14/FastForwardImporterConfig.cpp
482
    databaseimporter/amarok14/FastForwardWorker.cpp
483
    databaseimporter/itunes/ITunesImporterConfig.cpp
484
    databaseimporter/itunes/ITunesImporter.cpp
485
    databaseimporter/itunes/ITunesImporterWorker.cpp
486
    dialogs/CollectionSetup.cpp
487
    dialogs/DatabaseImporterDialog.cpp
488
    dialogs/EditFilterDialog.cpp
489
    dialogs/FilenameLayoutDialog.cpp
490
    dialogs/PlaylistLayoutEditDialog.cpp
491
    dialogs/PodcastSettingsDialog.cpp
492
    dialogs/ScriptSelector.cpp
493
    dialogs/ScriptManager.cpp
494
    dialogs/TagDialog.cpp
495
    dialogs/TagGuesser.cpp
496
    browsers/filebrowser/FileBrowser.cpp
497
    browsers/filebrowser/MyDirOperator.cpp
498
    browsers/filebrowser/kbookmarkhandler.cpp
499
    firstruntutorial/FirstRunTutorial.cpp
500
    firstruntutorial/FirstRunTutorialPage.cpp
501
    MountPointManager.cpp
502
    PaletteHandler.cpp
503
    PopupDropperFactory.cpp
504
    Systray.cpp
505
    widgets/hintlineedit.cpp
506
    widgets/kdatecombo.cpp
507
    widgets/kratingpainter.cpp
508
    widgets/kratingwidget.cpp
509
    widgets/TokenDropTarget.cpp
510
    widgets/EditDeleteComboBoxView.cpp
511
    widgets/EditDeleteDelegate.cpp
512
    widgets/ElidingButton.cpp
513
    widgets/TokenLayoutWidget.cpp
514
    widgets/FlowLayout.cpp
515
    widgets/HorizontalDivider.cpp
516
    widgets/LineEdit.cpp
517
    widgets/MainControlsButton.cpp
518
    widgets/MainControlsWidget.cpp
519
    widgets/MainToolbar.cpp
520
    widgets/Osd.cpp
521
    widgets/PixmapViewer.cpp
522
    widgets/PrettyTreeView.cpp
523
    widgets/ProgressiveSearchWidget.cpp
524
    widgets/ProgressWidget.cpp
525
    widgets/SearchWidget.cpp
526
    widgets/SliderWidget.cpp
527
    widgets/TokenPool.cpp
528
    widgets/Token.cpp
529
    widgets/TokenWithLayout.cpp
530
    widgets/VolumeWidget.cpp
531
    widgets/Splitter.cpp
532
    widgets/BookmarkTriangle.cpp
533
    widgets/BookmarkPopup.cpp
534
    GlobalCollectionActions.cpp
535
    GlobalCurrentTrackActions.cpp
536
)
537
538
qt4_add_dbus_adaptor( amaroklib_LIB_SRCS dbus/org.freedesktop.MediaPlayer.root.xml RootDBusHandler.h Amarok::RootDBusHandler RootAdaptor RootAdaptor)
539
qt4_add_dbus_adaptor( amaroklib_LIB_SRCS dbus/org.freedesktop.MediaPlayer.player.xml PlayerDBusHandler.h Amarok::PlayerDBusHandler PlayerAdaptor PlayerAdaptor)
540
qt4_add_dbus_adaptor( amaroklib_LIB_SRCS dbus/org.freedesktop.MediaPlayer.tracklist.xml TracklistDBusHandler.h Amarok::TracklistDBusHandler TracklistAdaptor TracklistAdaptor)
541
qt4_add_dbus_adaptor( amaroklib_LIB_SRCS dbus/org.kde.amarok.Collection.xml CollectionDBusHandler.h CollectionDBusHandler CollectionAdaptor CollectionAdaptor)
542
543
set( amaroklib_DEPENDS "amarokpud" )
544
545
kde4_add_kcfg_files(amaroklib_LIB_SRCS amarokconfig.kcfgc)
546
547
kde4_add_ui_files(amaroklib_LIB_SRCS
548
    dialogs/EditCoverSearchDialog.ui
549
    dialogs/EditFilterDialog.ui
550
    dialogs/ScriptManagerBase.ui
551
    dialogs/TagDialogBase.ui
552
    dialogs/FilenameLayoutDialog.ui
553
    dialogs/PlaylistLayoutEditDialog.ui
554
    dialogs/PodcastSettingsBase.ui
555
    browsers/playlistbrowser/PodcastCategoryBase.ui
556
)
557
558
kde4_add_library(amaroklib SHARED ${amaroklib_LIB_SRCS})
559
560
target_link_libraries(amaroklib
561
    ${KDE4_KUTILS_LIBS}
562
    ${KDE4_KDEUI_LIBS}
563
    ${KDE4_KHTML_LIBS}
564
    ${KDE4_KNEWSTUFF_LIBS}
565
    ${KDE4_KFILE_LIBS}
566
    ${KDE4_THREADWEAVER_LIBRARIES}
567
    ${KDE4_KNEWSTUFF2_LIBS}
568
    ${KDE4_PHONON_LIBRARY}
569
    ${KDE4_PLASMA_LIBS}
570
    ${KDE4_SOLID_LIBRARY}
571
    ${TAGLIB_LIBRARIES}
572
    ${TAGLIB-EXTRAS_LIBRARIES}
573
    ${QT_QTSCRIPT_LIBRARY}
574
    ${QT_QTSQL_LIBRARY}
575
    ${QT_QTWEBKIT_LIBRARY}
576
    ${CMAKE_THREAD_LIBS_INIT}
577
    ${EXTRA_LIBS}
578
    amarokpud
579
    mediadevicelib
580
)
581
582
if(WIN32)
583
    target_link_libraries(amaroklib ${QT_QTWEBKIT_LIBRARY})
584
endif(WIN32)
585
if(APPLE)
586
    SET_TARGET_PROPERTIES(amaroklib PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
587
endif(APPLE)
588
589
if(KDEMULTIMEDIA_FOUND)
590
    target_link_libraries(amaroklib
591
        ${KCDDB_LIBRARY}
592
        ${KCOMPACTDISC_LIBRARY}
593
    )
594
endif(KDEMULTIMEDIA_FOUND)
595
if(LIBDL_FOUND)
596
    target_link_libraries(amaroklib dl)
597
endif(LIBDL_FOUND)
598
599
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SYSTEM_NAME MATCHES Linux)
600
    set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=iso9899:1999" )
601
endif(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SYSTEM_NAME MATCHES Linux)
602
603
set_target_properties(amaroklib PROPERTIES VERSION 1.0.0 SOVERSION 1 )
604
install(TARGETS amaroklib ${INSTALL_TARGETS_DEFAULT_ARGS} )
605
606
607
#####################################################################
608
# AMAROK
609
#####################################################################
610
611
set(amarok_SRCS main.cpp )
612
613
kde4_add_app_icon(amarok_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/images/hi*-app-amarok.png)
614
615
if(Q_WS_MAC)    
616
    kde4_add_executable(Amarok ${amarok_SRCS})
617
    target_link_libraries(Amarok ${KDE4_KDECORE_LIBS} amaroklib )
618
    SET_TARGET_PROPERTIES(Amarok PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
619
    set_target_properties(Amarok PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${MAC_FILES_DIR}/Info.plist.template)
620
    set_target_properties(Amarok PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER "org.kde.amarok")
621
    set_target_properties(Amarok PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Amarok 2")
622
    #the following line was copied from KDE4Macros.cmake. kde4_add_app_icon fails to actually copy the .icns file
623
    SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/amarok.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
624
    install(TARGETS Amarok ${INSTALL_TARGETS_DEFAULT_ARGS})
625
else(Q_WS_MAC)
626
    kde4_add_executable(amarok ${amarok_SRCS})
627
    target_link_libraries(amarok ${KDE4_KDEUI_LIBS} amaroklib )
628
    install(TARGETS amarok ${INSTALL_TARGETS_DEFAULT_ARGS})
629
endif(Q_WS_MAC)
630
631
########### install files ###############
632
633
install(FILES amarok.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} )
634
install(FILES amarok_plugin.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
635
install(FILES amarok_codecinstall.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR})
636
install(FILES amarok_append.desktop DESTINATION ${SERVICES_INSTALL_DIR}/ServiceMenus)
637
install(FILES amarok.knsrc DESTINATION ${CONFIG_INSTALL_DIR})
638
install(FILES context/amarokapplets.knsrc DESTINATION ${CONFIG_INSTALL_DIR})
639
640
if(LIBLASTFM_FOUND)
641
  install(FILES amaroklastfm.protocol DESTINATION ${SERVICES_INSTALL_DIR})
642
endif(LIBLASTFM_FOUND)
643
644
#install(FILES amarokitpc.protocol DESTINATION ${SERVICES_INSTALL_DIR})
645
#install(FILES amarokpcast.protocol DESTINATION ${SERVICES_INSTALL_DIR})
646
647
install(FILES context/servicetypes/amarok_context_applet.desktop
648
              context/servicetypes/amarok_data_engine.desktop
649
              DESTINATION ${SERVICETYPES_INSTALL_DIR} )
650
651
install(FILES  amarokconfig.kcfg DESTINATION ${KCFG_INSTALL_DIR} )
652
install(FILES dbus/org.freedesktop.MediaPlayer.root.xml
653
              dbus/org.freedesktop.MediaPlayer.player.xml
654
              dbus/org.freedesktop.MediaPlayer.tracklist.xml
655
              dbus/org.kde.amarok.Collection.xml
656
              DESTINATION ${DBUS_INTERFACES_INSTALL_DIR})
657
658
659
install(FILES data/DefaultPlaylistLayouts.xml
660
              data/DefaultDockLayout
661
              services/InfoParserLoading.html
662
              DESTINATION ${DATA_INSTALL_DIR}/amarok/data)
663
664
install( FILES data/amarok_homerc DESTINATION ${CONFIG_INSTALL_DIR} )
665
666
kde4_install_icons( ${ICON_INSTALL_DIR} )
667
668
############ amarok protocol handler ###########
669
670
install( FILES amarokurls/amarok.protocol  DESTINATION  ${SERVICES_INSTALL_DIR} )