Warning, /multimedia/amarok/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # Improves speed of string concatenation
0002 add_definitions(-DQT_USE_FAST_CONCATENATION)
0003 add_definitions(-DQT_USE_FAST_OPERATOR_PLUS)
0004 
0005 if(APPLE)
0006     set(mac_SRCS
0007         app_mac.cpp
0008         mac/GrowlInterface.cpp
0009     )
0010     # Notification Center Appeared in 10.8, or Darwin 12
0011     if( CMAKE_SYSTEM_VERSION VERSION_GREATER "11.9.9")
0012         list(APPEND mac_SRCS mac/MacSystemNotify.mm)
0013         add_definitions(-DHAVE_NOTIFICATION_CENTER)
0014     endif()
0015 
0016     include_directories ( services/lastfm/ )
0017     set( MAC_FILES_DIR  ${CMAKE_SOURCE_DIR}/src/mac )
0018 endif()
0019 
0020 include_directories(
0021     ${CMAKE_CURRENT_SOURCE_DIR}
0022     ${CMAKE_CURRENT_BINARY_DIR}
0023     ${CMAKE_CURRENT_BINARY_DIR}/core-impl/collections/db/sql/
0024 )
0025 
0026 add_subdirectory( core )
0027 add_subdirectory( core-impl/collections )
0028 add_subdirectory( core-impl/storage/sql )
0029 add_subdirectory( context )
0030 add_subdirectory( services )
0031 add_subdirectory( scripting/scripts )
0032 add_subdirectory( transcoding )
0033 add_subdirectory( kconf_update )
0034 add_subdirectory( importers )
0035 
0036 #####################################################################
0037 # PROXYCOLLECTION
0038 #####################################################################
0039 set(aggregatecollection_SRCS
0040     core-impl/collections/aggregate/AggregateCollection.cpp
0041     core-impl/collections/aggregate/AggregateMeta.cpp
0042     core-impl/collections/aggregate/AggregateQueryMaker.cpp
0043 )
0044 
0045 #####################################################################
0046 # MEDIADEVICEFRAMEWORK
0047 #####################################################################
0048 set(libmediadeviceframework_SRCS
0049   core-impl/collections/mediadevicecollection/MediaDeviceCollection.cpp
0050   core-impl/collections/mediadevicecollection/MediaDeviceCollectionLocation.cpp
0051   core-impl/collections/mediadevicecollection/MediaDeviceMeta.cpp
0052   core-impl/collections/mediadevicecollection/MediaDeviceTrackEditor.cpp
0053   core-impl/collections/mediadevicecollection/handler/MediaDeviceHandler.cpp
0054   core-impl/collections/mediadevicecollection/handler/MediaDeviceHandlerCapability.cpp
0055   core-impl/collections/mediadevicecollection/handler/capabilities/ArtworkCapability.cpp
0056   core-impl/collections/mediadevicecollection/handler/capabilities/PlaylistCapability.cpp
0057   core-impl/collections/mediadevicecollection/handler/capabilities/PodcastCapability.cpp
0058   core-impl/collections/mediadevicecollection/handler/capabilities/ReadCapability.cpp
0059   core-impl/collections/mediadevicecollection/handler/capabilities/WriteCapability.cpp
0060   core-impl/collections/mediadevicecollection/playlist/MediaDevicePlaylist.cpp
0061   core-impl/collections/mediadevicecollection/playlist/MediaDeviceUserPlaylistProvider.cpp
0062   core-impl/collections/mediadevicecollection/podcast/MediaDevicePodcastProvider.cpp
0063   core-impl/collections/mediadevicecollection/support/ConnectionAssistant.cpp
0064   core-impl/collections/mediadevicecollection/support/MediaDeviceInfo.cpp
0065 )
0066 
0067 #####################################################################
0068 # SERVICEFRAMEWORK
0069 #####################################################################
0070 set(libserviceframework_SRCS
0071     services/DynamicServiceQueryMaker.cpp
0072     services/InfoParserBase.cpp
0073     services/ServiceAlbumCoverDownloader.cpp
0074     services/ServiceBase.cpp
0075     services/ServiceCapabilities.cpp
0076     services/ServiceCollection.cpp
0077     services/ServiceCollectionLocation.cpp
0078     services/ServiceCollectionTreeView.cpp
0079     services/ServiceMetaBase.cpp
0080     services/ServicePluginManager.cpp
0081     services/ServiceSqlCollection.cpp
0082     services/ServiceSqlQueryMaker.cpp
0083     services/ServiceSqlRegistry.cpp
0084 )
0085 
0086 #####################################################################
0087 # SERVICEBROWSER
0088 #####################################################################
0089 set(libservicebrowser_SRCS
0090     browsers/servicebrowser/ServiceBrowser.cpp
0091 )
0092 
0093 #####################################################################
0094 # AMAROKURL
0095 #####################################################################
0096 set(libamarokurl_SRCS
0097     amarokurls/AmarokUrl.cpp
0098     amarokurls/AmarokUrlAction.cpp
0099     amarokurls/AmarokUrlHandler.cpp
0100     amarokurls/BookmarkCurrentButton.cpp
0101     amarokurls/ContextUrlGenerator.cpp
0102     amarokurls/ContextUrlRunner.cpp
0103     amarokurls/NavigationUrlRunner.cpp
0104     amarokurls/NavigationUrlGenerator.cpp
0105     amarokurls/PlayUrlRunner.cpp
0106     amarokurls/PlayUrlGenerator.cpp
0107     amarokurls/BookmarkManager.cpp
0108     amarokurls/BookmarkManagerWidget.cpp
0109     amarokurls/BookmarkGroup.cpp
0110     amarokurls/BookmarkModel.cpp
0111     amarokurls/BookmarkTreeView.cpp
0112     amarokurls/BookmarkMetaActions.cpp
0113     )
0114 
0115 #####################################################################
0116 # SCRIPTABLESERVICE
0117 #####################################################################
0118 set(libscriptableservice_SRCS
0119     services/scriptable/ScriptableService.cpp
0120     services/scriptable/ScriptableServiceCollection.cpp
0121     services/scriptable/ScriptableServiceCollectionTreeModel.cpp
0122     services/scriptable/ScriptableServiceInfoParser.cpp
0123     services/scriptable/ScriptableServiceManager.cpp
0124     services/scriptable/ScriptableServiceMeta.cpp
0125     services/scriptable/ScriptableServiceQueryMaker.cpp
0126 )
0127 
0128 #####################################################################
0129 # CONFIGDIALOG
0130 #####################################################################
0131 set(libconfigdialog_SRCS
0132     configdialog/ConfigDialog.cpp
0133     configdialog/ConfigDialogBase.cpp
0134     configdialog/dialogs/CollectionConfig.cpp
0135     configdialog/dialogs/ExcludedLabelsDialog.cpp
0136     configdialog/dialogs/GeneralConfig.cpp
0137     configdialog/dialogs/MetadataConfig.cpp
0138     configdialog/dialogs/NotificationsConfig.cpp
0139     configdialog/dialogs/PlaybackConfig.cpp
0140     configdialog/dialogs/PluginsConfig.cpp
0141     configdialog/dialogs/ScriptsConfig.cpp
0142     configdialog/dialogs/ScriptSelector.cpp
0143     configdialog/dialogs/DatabaseConfig.cpp
0144 )
0145 
0146 ki18n_wrap_ui(libconfigdialog_SRCS
0147     configdialog/dialogs/CollectionConfig.ui
0148     configdialog/dialogs/GeneralConfig.ui
0149     configdialog/dialogs/MetadataConfig.ui
0150     configdialog/dialogs/ExcludedLabelsDialog.ui
0151     configdialog/dialogs/NotificationsConfig.ui
0152     configdialog/dialogs/PlaybackConfig.ui
0153     configdialog/dialogs/DatabaseConfig.ui
0154     configdialog/dialogs/ScriptsConfig.ui
0155 )
0156 
0157 set(libbrowserframework_SRCS
0158     browsers/BrowserBreadcrumbItem.cpp
0159     browsers/BrowserBreadcrumbWidget.cpp
0160     browsers/BrowserCategory.cpp
0161     browsers/BrowserCategoryList.cpp
0162     browsers/BrowserCategoryListModel.cpp
0163     browsers/BrowserCategoryListSortFilterProxyModel.cpp
0164     browsers/BrowserDock.cpp
0165     browsers/BrowserMessageArea.cpp
0166     browsers/CollectionSortFilterProxyModel.cpp
0167     browsers/CollectionTreeItem.cpp
0168     browsers/CollectionTreeItemModel.cpp
0169     browsers/CollectionTreeItemModelBase.cpp
0170     browsers/CollectionTreeView.cpp
0171     browsers/InfoProxy.cpp
0172     browsers/SingleCollectionTreeItemModel.cpp
0173 )
0174 
0175 #####################################################################
0176 # COLLECTIONBROWSER
0177 #####################################################################
0178 set(libcollectionbrowser_SRCS
0179     browsers/collectionbrowser/CollectionBrowserTreeView.cpp
0180     browsers/collectionbrowser/CollectionWidget.cpp
0181 )
0182 
0183 #####################################################################
0184 # SYNCHRONIZATION
0185 #####################################################################
0186 set(libsynchronization_SRCS
0187     synchronization/MasterSlaveSynchronizationJob.cpp
0188     synchronization/OneWaySynchronizationJob.cpp
0189     synchronization/SynchronizationBaseJob.cpp
0190     synchronization/UnionJob.cpp
0191 )
0192 
0193 #####################################################################
0194 # STATUSBAR
0195 #####################################################################
0196 set(libstatusbar_SRCS
0197     statusbar/ProgressBar.cpp
0198     statusbar/KJobProgressBar.cpp
0199     statusbar/NetworkProgressBar.cpp
0200     statusbar/CompoundProgressBar.cpp
0201     statusbar/PopupWidget.cpp
0202     statusbar/LongMessageWidget.cpp
0203 )
0204 
0205 
0206 #####################################################################
0207 # META
0208 #####################################################################
0209 set(libmetaimpl_SRCS
0210     core-impl/playlists/providers/user/UserPlaylistProvider.cpp
0211     core-impl/playlists/types/file/asx/ASXPlaylist.cpp
0212     core-impl/playlists/types/file/m3u/M3UPlaylist.cpp
0213     core-impl/playlists/types/file/pls/PLSPlaylist.cpp
0214     core-impl/playlists/types/file/PlaylistFileLoaderJob.cpp
0215     core-impl/playlists/types/file/PlaylistFileSupport.cpp
0216     core-impl/playlists/types/file/xspf/XSPFPlaylist.cpp
0217     core-impl/capabilities/AlbumActionsCapability.cpp
0218     core-impl/capabilities/timecode/TimecodeBoundedPlaybackCapability.cpp
0219     core-impl/capabilities/timecode/TimecodeLoadCapability.cpp
0220     core-impl/capabilities/timecode/TimecodeWriteCapability.cpp
0221     core-impl/capabilities/multisource/MultiSourceCapabilityImpl.cpp
0222     core-impl/meta/file/File.cpp
0223     core-impl/meta/file/FileTrackProvider.cpp
0224     core-impl/meta/multi/MultiTrack.cpp
0225     core-impl/meta/cue/CueFileSupport.cpp
0226     core-impl/meta/proxy/MetaProxy.cpp
0227     core-impl/meta/proxy/MetaProxyWorker.cpp
0228     core-impl/meta/stream/Stream.cpp
0229     core-impl/playlists/types/file/PlaylistFile.cpp
0230     core-impl/support/PersistentStatisticsStore.cpp
0231     core-impl/support/TagStatisticsStore.cpp
0232     core-impl/support/UrlStatisticsStore.cpp
0233 )
0234 
0235 #####################################################################
0236 # COLLECTION
0237 #####################################################################
0238 set(collection_SRCS
0239     core-impl/collections/support/jobs/WriteTagsJob.cpp
0240     core-impl/collections/support/ArtistHelper.cpp
0241     core-impl/collections/support/CollectionManager.cpp
0242     core-impl/collections/support/CollectionLocationDelegateImpl.cpp
0243     core-impl/collections/support/MemoryCustomValue.cpp
0244     core-impl/collections/support/MemoryFilter.cpp
0245     core-impl/collections/support/MemoryMatcher.cpp
0246     core-impl/collections/support/MemoryMeta.cpp
0247     core-impl/collections/support/MemoryQueryMaker.cpp
0248     core-impl/collections/support/MemoryQueryMakerInternal.cpp
0249     core-impl/collections/support/MemoryQueryMakerHelper.cpp
0250     core-impl/collections/support/TrashCollectionLocation.cpp
0251     core-impl/collections/support/XmlQueryReader.cpp
0252     core-impl/collections/support/FileCollectionLocation.cpp
0253     core-impl/collections/support/Expression.cpp
0254     core-impl/collections/support/TextualQueryFilter.cpp
0255 )
0256 
0257 #####################################################################
0258 # STORAGE
0259 #####################################################################
0260 set(storage_SRCS
0261     core-impl/storage/StorageManager.cpp
0262 )
0263 
0264 #####################################################################
0265 # SCANNER
0266 #####################################################################
0267 set( scanner_SRCS
0268     scanner/GenericScanManager.cpp
0269     scanner/GenericScannerJob.cpp
0270     scanner/AbstractDirectoryWatcher.cpp
0271     scanner/AbstractScanResultProcessor.cpp
0272 )
0273 
0274 #####################################################################
0275 # CONTEXT
0276 #####################################################################
0277 set( libcontextview_SRCS
0278     context/AmarokContextPackageStructure.cpp
0279     context/AppletLoader.cpp
0280     context/AppletModel.cpp
0281     context/ContextDock.cpp
0282     context/ContextView.cpp
0283 )
0284 
0285 #####################################################################
0286 # LYRICS
0287 #####################################################################
0288 set( liblyrics_SRCS
0289     lyrics/LyricsManager.cpp
0290 )
0291 
0292 #####################################################################
0293 # PODCASTS
0294 #####################################################################
0295 set(libpodcasts_SRCS
0296     core-impl/podcasts/sql/SqlPodcastMeta.cpp
0297     core-impl/podcasts/sql/SqlPodcastProvider.cpp
0298     core-impl/podcasts/sql/PodcastSettingsDialog.cpp
0299     core-impl/podcasts/sql/PodcastFilenameLayoutConfigDialog.cpp
0300 )
0301 
0302 #####################################################################
0303 # PLAYLISTBROWSER
0304 #####################################################################
0305 set(libplaylistbrowser_SRCS
0306     browsers/playlistbrowser/APGCategory.cpp
0307     browsers/playlistbrowser/DynamicCategory.cpp
0308     browsers/playlistbrowser/DynamicBiasDelegate.cpp
0309     browsers/playlistbrowser/DynamicBiasDialog.cpp
0310     browsers/playlistbrowser/DynamicView.cpp
0311     browsers/playlistbrowser/PlaylistBrowserFilterProxy.cpp
0312     browsers/playlistbrowser/PlaylistBrowserModel.cpp
0313     browsers/playlistbrowser/PlaylistBrowserCategory.cpp
0314     browsers/playlistbrowser/QtGroupingProxy.cpp
0315     browsers/playlistbrowser/PlaylistBrowser.cpp
0316     browsers/playlistbrowser/PlaylistBrowserView.cpp
0317     browsers/playlistbrowser/UserPlaylistCategory.cpp
0318     browsers/playlistbrowser/PlaylistsInFoldersProxy.cpp
0319     browsers/playlistbrowser/PlaylistsByProviderProxy.cpp
0320     browsers/playlistbrowser/PodcastModel.cpp
0321     browsers/playlistbrowser/PodcastCategory.cpp
0322     browsers/playlistbrowser/UserPlaylistModel.cpp
0323 )
0324 
0325 #####################################################################
0326 # PLAYLISTMANAGER
0327 #####################################################################
0328 set(libplaylistmanager_SRCS
0329     playlistmanager/PlaylistManager.cpp
0330     playlistmanager/file/PlaylistFileProvider.cpp
0331     playlistmanager/file/KConfigSyncRelStore.cpp
0332     playlistmanager/sql/SqlUserPlaylistProvider.cpp
0333     playlistmanager/sql/SqlPlaylist.cpp
0334     playlistmanager/sql/SqlPlaylistGroup.cpp
0335     playlistmanager/SyncedPlaylist.cpp
0336     playlistmanager/SyncedPodcast.cpp
0337     playlistmanager/SyncRelationStorage.cpp
0338 )
0339 
0340 #####################################################################
0341 # PLAYLIST
0342 #####################################################################
0343 set(libplaylist_SRCS
0344     playlist/PlaylistActions.cpp
0345     playlist/PlaylistBreadcrumbItem.cpp
0346     playlist/PlaylistBreadcrumbItemSortButton.cpp
0347     playlist/PlaylistBreadcrumbLevel.cpp
0348     playlist/PlaylistDefines.cpp
0349     playlist/PlaylistController.cpp
0350     playlist/PlaylistInfoWidget.cpp
0351     playlist/PlaylistItem.cpp
0352     playlist/PlaylistModel.cpp
0353     playlist/PlaylistModelStack.cpp
0354     playlist/PlaylistRestorer.cpp
0355     playlist/PlaylistQueueEditor.cpp
0356     playlist/PlaylistSortWidget.cpp
0357     playlist/PlaylistViewUrlGenerator.cpp
0358     playlist/PlaylistViewUrlRunner.cpp
0359     playlist/PlaylistDock.cpp
0360     playlist/PlaylistToolBar.cpp
0361     playlist/ProgressiveSearchWidget.cpp
0362     playlist/UndoCommands.cpp
0363     playlist/layouts/LayoutEditDialog.cpp
0364     playlist/layouts/LayoutEditWidget.cpp
0365     playlist/layouts/LayoutConfigAction.cpp
0366     playlist/layouts/LayoutItemConfig.cpp
0367     playlist/layouts/LayoutManager.cpp
0368     playlist/layouts/PlaylistLayoutEditDialog.cpp
0369     playlist/navigators/AlbumNavigator.cpp
0370     playlist/navigators/DynamicTrackNavigator.cpp
0371     playlist/navigators/FavoredRandomTrackNavigator.cpp
0372     playlist/navigators/NavigatorConfigAction.cpp
0373     playlist/navigators/NonlinearTrackNavigator.cpp
0374     playlist/navigators/RandomAlbumNavigator.cpp
0375     playlist/navigators/RandomTrackNavigator.cpp
0376     playlist/navigators/RepeatAlbumNavigator.cpp
0377     playlist/navigators/RepeatTrackNavigator.cpp
0378     playlist/navigators/StandardTrackNavigator.cpp
0379     playlist/navigators/TrackNavigator.cpp
0380     playlist/view/PlaylistViewCommon.cpp
0381     playlist/view/listview/InlineEditorWidget.cpp
0382     playlist/view/listview/PrettyItemDelegate.cpp
0383     playlist/view/listview/PrettyListView.cpp
0384     playlist/view/listview/SourceSelectionPopup.cpp
0385     playlist/proxymodels/GroupingProxy.cpp
0386     playlist/proxymodels/ProxyBase.cpp
0387     playlist/proxymodels/SortAlgorithms.cpp
0388     playlist/proxymodels/SortFilterProxy.cpp
0389     playlist/proxymodels/SortScheme.cpp
0390     playlist/proxymodels/SearchProxy.cpp
0391 )
0392 
0393 ki18n_wrap_ui(libplaylist_SRCS
0394     playlist/PlaylistQueueEditor.ui
0395 )
0396 
0397 #####################################################################
0398 # DYNAMIC
0399 #####################################################################
0400 set(libdynamic_SRCS
0401     dynamic/TrackSet.cpp
0402     dynamic/BiasFactory.cpp
0403     dynamic/BiasedPlaylist.cpp
0404     dynamic/BiasSolver.cpp
0405     dynamic/DynamicPlaylist.cpp
0406     dynamic/DynamicModel.cpp
0407 
0408     # biases
0409     dynamic/Bias.cpp
0410     dynamic/biases/AlbumPlayBias.cpp
0411     dynamic/biases/EchoNestBias.cpp
0412     dynamic/biases/IfElseBias.cpp
0413     dynamic/biases/PartBias.cpp
0414     dynamic/biases/QuizPlayBias.cpp
0415     dynamic/biases/TagMatchBias.cpp
0416     dynamic/biases/SearchQueryBias.cpp
0417 )
0418 
0419 #####################################################################
0420 # DBUS
0421 #####################################################################
0422 set(dbus_SRCS
0423     dbus/mpris2/DBusAbstractAdaptor.cpp
0424     dbus/mpris2/Mpris2.cpp
0425     dbus/mpris2/MediaPlayer2.cpp
0426     dbus/mpris2/MediaPlayer2Player.cpp
0427     dbus/mpris2/MediaPlayer2AmarokExtensions.cpp
0428     dbus/mpris2/DBusAmarokApp.cpp
0429     dbus/CollectionDBusHandler.cpp
0430     dbus/DBusQueryHelper.cpp
0431 )
0432 
0433 
0434 #####################################################################
0435 # SCRIPTING INTERFACE
0436 #####################################################################
0437 set(scriptengine_SRCS
0438     scripting/scriptengine/AmarokBookmarkScript.cpp
0439     scripting/scriptengine/AmarokCollectionScript.cpp
0440     scripting/scriptengine/AmarokCollectionViewScript.cpp
0441     scripting/scriptengine/AmarokEngineScript.cpp
0442     scripting/scriptengine/AmarokEqualizerScript.cpp
0443     scripting/scriptengine/AmarokInfoScript.cpp
0444     scripting/scriptengine/AmarokKNotifyScript.cpp
0445     scripting/scriptengine/AmarokLyricsScript.cpp
0446     scripting/scriptengine/AmarokNetworkScript.cpp
0447     scripting/scriptengine/AmarokOSDScript.cpp
0448     scripting/scriptengine/AmarokPlaylistManagerScript.cpp
0449     scripting/scriptengine/AmarokPlaylistScript.cpp
0450     scripting/scriptengine/AmarokScript.cpp
0451     scripting/scriptengine/AmarokScriptConfig.cpp
0452     scripting/scriptengine/AmarokScriptableServiceScript.cpp
0453     scripting/scriptengine/AmarokServicePluginManagerScript.cpp
0454     scripting/scriptengine/AmarokStatusbarScript.cpp
0455     scripting/scriptengine/AmarokStreamItemScript.cpp
0456     scripting/scriptengine/AmarokWindowScript.cpp
0457     scripting/scriptengine/AmarokScriptXml.cpp
0458     scripting/scriptengine/ScriptImporter.cpp
0459     scripting/scriptengine/ScriptingDefines.cpp
0460     scripting/scriptengine/exporters/CollectionTypeExporter.cpp
0461     scripting/scriptengine/exporters/MetaTypeExporter.cpp
0462     scripting/scriptengine/exporters/PlaylistExporter.cpp
0463     scripting/scriptengine/exporters/PlaylistProviderExporter.cpp
0464     scripting/scriptengine/exporters/QueryMakerExporter.cpp
0465     scripting/scriptengine/exporters/ScriptableBiasExporter.cpp
0466 )
0467 
0468 set(qtbindings_SRCS
0469     scripting/scriptengine/qtbindings/CoreByteArray.cpp
0470     scripting/scriptengine/qtbindings/CoreCoreApplication.cpp
0471     scripting/scriptengine/qtbindings/CoreDir.cpp
0472     scripting/scriptengine/qtbindings/CoreFile.cpp
0473     scripting/scriptengine/qtbindings/CoreFileInfo.cpp
0474     scripting/scriptengine/qtbindings/CoreIODevice.cpp
0475     scripting/scriptengine/qtbindings/CoreLocale.cpp
0476     scripting/scriptengine/qtbindings/CoreResource.cpp
0477     scripting/scriptengine/qtbindings/CoreTextCodec.cpp
0478     scripting/scriptengine/qtbindings/CoreTextStream.cpp
0479     scripting/scriptengine/qtbindings/CoreTranslator.cpp
0480     scripting/scriptengine/qtbindings/CoreUrl.cpp
0481     scripting/scriptengine/qtbindings/GuiCheckBox.cpp
0482     scripting/scriptengine/qtbindings/GuiDialogButtonBox.cpp
0483     scripting/scriptengine/qtbindings/GuiLabel.cpp
0484     scripting/scriptengine/qtbindings/SqlSqlQuery.cpp
0485 )
0486 if( Qt5UiTools_FOUND )
0487     # Append below all files from QtBindings::UiTools namespace
0488     list(APPEND qtbindings_SRCS scripting/scriptengine/qtbindings/UiToolsUiLoader.cpp)
0489 endif()
0490 
0491 set(scriptconsole_SRCS
0492     scripting/scriptconsole/CompletionModel.cpp
0493     scripting/scriptconsole/ScriptConsole.cpp
0494     scripting/scriptconsole/ScriptEditorDocument.cpp
0495     scripting/scriptconsole/ScriptConsoleItem.cpp
0496 )
0497 
0498 if (TARGET Python3::Interpreter)
0499     execute_process(COMMAND ${Python3_EXECUTABLE} ${CMAKE_SOURCE_DIR}/src/scripting/scriptengine/PHAACG2.py
0500                                                   ${CMAKE_SOURCE_DIR}/src/scripting/scriptengine
0501                                                   ${CMAKE_BINARY_DIR}/scriptconsole)
0502     install(FILES ${CMAKE_BINARY_DIR}/scriptconsole/AutoComplete.txt
0503             DESTINATION ${KDE_INSTALL_DATADIR}/amarok/scriptconsole)
0504 endif()
0505 
0506 #####################################################################
0507 # PLAYLIST GENERATOR
0508 #####################################################################
0509 set(apg_SRCS
0510     playlistgenerator/Constraint.cpp
0511     playlistgenerator/ConstraintGroup.cpp
0512     playlistgenerator/ConstraintFactory.cpp
0513     playlistgenerator/ConstraintNode.cpp
0514     playlistgenerator/ConstraintSolver.cpp
0515     playlistgenerator/Preset.cpp
0516     playlistgenerator/PresetEditDialog.cpp
0517     playlistgenerator/PresetModel.cpp
0518     playlistgenerator/TreeController.cpp
0519     playlistgenerator/TreeModel.cpp
0520     playlistgenerator/constraints/Checkpoint.cpp
0521     playlistgenerator/constraints/Matching.cpp
0522     playlistgenerator/constraints/PlaylistDuration.cpp
0523     playlistgenerator/constraints/PlaylistFileSize.cpp
0524     playlistgenerator/constraints/PlaylistLength.cpp
0525     playlistgenerator/constraints/PreventDuplicates.cpp
0526     playlistgenerator/constraints/TagMatch.cpp
0527     playlistgenerator/constraints/TagMatchSupport.cpp
0528     playlistgenerator/constraints/TrackSpreader.cpp
0529 )
0530 
0531 ki18n_wrap_ui(apg_SRCS
0532     playlistgenerator/ConstraintGroupEditWidget.ui
0533     playlistgenerator/PresetEditDialog.ui
0534     playlistgenerator/constraints/CheckpointEditWidget.ui
0535     playlistgenerator/constraints/PlaylistDurationEditWidget.ui
0536     playlistgenerator/constraints/PlaylistFileSizeEditWidget.ui
0537     playlistgenerator/constraints/PlaylistLengthEditWidget.ui
0538     playlistgenerator/constraints/PreventDuplicatesEditWidget.ui
0539     playlistgenerator/constraints/TagMatchEditWidget.ui
0540 )
0541 
0542 #####################################################################
0543 # NETWORK ACCESS
0544 #####################################################################
0545 set(network_access_SRCS
0546     network/NetworkAccessManagerProxy.cpp
0547 )
0548 
0549 if( CMAKE_BUILD_TYPE_TOLOWER MATCHES debug )
0550     set(network_access_SRCS
0551         ${network_access_SRCS}
0552         network/NetworkAccessViewer.cpp
0553         )
0554 
0555     ki18n_wrap_ui(network_access_SRCS
0556         network/NetworkRequests.ui
0557         )
0558 endif()
0559 
0560 #####################################################################
0561 # STATISTICS SYNCHRONIZATION
0562 #####################################################################
0563 set( statsyncing_SRCS
0564     statsyncing/Config.cpp
0565     statsyncing/Controller.cpp
0566     statsyncing/Options.cpp
0567     statsyncing/Process.cpp
0568     statsyncing/Provider.cpp
0569     statsyncing/ProviderFactory.cpp
0570     statsyncing/ScrobblingService.cpp
0571     statsyncing/SimpleTrack.cpp
0572     statsyncing/SimpleWritableTrack.cpp
0573     statsyncing/Track.cpp
0574     statsyncing/TrackTuple.cpp
0575     statsyncing/collection/CollectionProvider.cpp
0576     statsyncing/collection/CollectionTrack.cpp
0577     statsyncing/jobs/MatchTracksJob.cpp
0578     statsyncing/jobs/SynchronizeTracksJob.cpp
0579     statsyncing/models/CommonModel.cpp
0580     statsyncing/models/MatchedTracksModel.cpp
0581     statsyncing/models/ProvidersModel.cpp
0582     statsyncing/models/SingleTracksModel.cpp
0583     statsyncing/ui/ChooseProvidersPage.cpp
0584     statsyncing/ui/CreateProviderDialog.cpp
0585     statsyncing/ui/ConfigureProviderDialog.cpp
0586     statsyncing/ui/MatchedTracksPage.cpp
0587     statsyncing/ui/TrackDelegate.cpp
0588 )
0589 
0590 ki18n_wrap_ui( statsyncing_SRCS
0591     statsyncing/ui/ChooseProvidersPage.ui
0592     statsyncing/ui/MatchedTracksPage.ui
0593 )
0594 
0595 #####################################################################
0596 # STATISTICS IMPORTERS
0597 #####################################################################
0598 set( importers_SRCS
0599     importers/ImporterManager.cpp
0600     importers/ImporterProvider.cpp
0601     importers/ImporterSqlConnection.cpp
0602     importers/SimpleImporterConfigWidget.cpp
0603 )
0604 
0605 #####################################################################
0606 # LIBAMAROK
0607 #####################################################################
0608 set(amaroklib_LIB_SRCS
0609     ${libscriptableservice_SRCS}
0610     ${libbrowserframework_SRCS}
0611     ${libcontextview_SRCS}
0612     ${libcollectionbrowser_SRCS}
0613     ${libconfigdialog_SRCS}
0614     ${liblyrics_SRCS}
0615     ${libplaylist_SRCS}
0616     ${aggregatecollection_SRCS}
0617     ${libpodcasts_SRCS}
0618     ${libmediadeviceframework_SRCS}
0619     ${libserviceframework_SRCS}
0620     ${libservicebrowser_SRCS}
0621     ${libdynamic_SRCS}
0622     ${libmetaimpl_SRCS}
0623     ${apg_SRCS}
0624     ${collection_SRCS}
0625     ${storage_SRCS}
0626     ${scanner_SRCS}
0627     ${mac_SRCS}
0628     ${network_access_SRCS}
0629     ${libplaylistbrowser_SRCS}
0630     ${libplaylistmanager_SRCS}
0631     ${dbus_SRCS}
0632     ${qtbindings_SRCS}
0633     ${scriptengine_SRCS}
0634     ${scriptconsole_SRCS}
0635     ${libstatusbar_SRCS}
0636     ${libamarokurl_SRCS}
0637     ${libsynchronization_SRCS}
0638     ${statsyncing_SRCS}
0639     ${importers_SRCS}
0640     aboutdialog/AnimatedBarWidget.cpp
0641     aboutdialog/AnimatedWidget.cpp
0642     aboutdialog/ExtendedAboutDialog.cpp
0643     aboutdialog/FramedLabel.cpp
0644     aboutdialog/OcsData.cpp
0645     aboutdialog/OcsPersonItem.cpp
0646     aboutdialog/OcsPersonListWidget.cpp
0647     ActionClasses.cpp
0648     AmarokMimeData.cpp
0649     AmarokProcess.cpp
0650     App.cpp
0651     CaseConverter.cpp
0652     EngineController.cpp
0653     KNotificationBackend.cpp
0654     MainWindow.cpp
0655     MediaDeviceCache.cpp
0656     MediaDeviceMonitor.cpp
0657     PluginManager.cpp
0658     QStringx.cpp
0659     scripting/scriptmanager/ScriptManager.cpp
0660     scripting/scriptmanager/ScriptItem.cpp
0661     scripting/scriptmanager/ScriptUpdater.cpp
0662     SvgHandler.cpp
0663     SvgTinter.cpp
0664     TrayIcon.cpp
0665     core-impl/logger/DebugLogger.cpp
0666     core-impl/meta/timecode/TimecodeObserver.cpp
0667     core-impl/meta/timecode/TimecodeMeta.cpp
0668     core-impl/meta/timecode/TimecodeTrackProvider.cpp
0669     core-impl/support/TrackLoader.cpp
0670     covermanager/CoverCache.cpp
0671     covermanager/CoverFetcher.cpp
0672     covermanager/CoverFetchingActions.cpp
0673     covermanager/CoverFetchQueue.cpp
0674     covermanager/CoverFetchUnit.cpp
0675     covermanager/CoverFoundDialog.cpp
0676     covermanager/CoverManager.cpp
0677     covermanager/CoverViewDialog.cpp
0678     databaseimporter/SqlBatchImporter.cpp
0679     databaseimporter/SqlBatchImporterConfig.cpp
0680     dialogs/CollectionSetup.cpp
0681     dialogs/DatabaseImporterDialog.cpp
0682     dialogs/DiagnosticDialog.cpp
0683     dialogs/EditFilterDialog.cpp
0684     dialogs/EqualizerDialog.cpp
0685     dialogs/MusicBrainzTagger.cpp
0686     dialogs/OrganizeCollectionDialog.cpp
0687     dialogs/TrackOrganizer.cpp
0688     dialogs/TagDialog.cpp
0689     dialogs/TagGuesser.cpp
0690     dialogs/TagGuesserDialog.cpp
0691     dialogs/LabelListModel.cpp
0692     equalizer/EqualizerPresets.cpp
0693     browsers/filebrowser/DirPlaylistTrackFilterProxyModel.cpp
0694     browsers/filebrowser/FileBrowser.cpp
0695     browsers/filebrowser/FileView.cpp
0696     musicbrainz/MusicBrainzFinder.cpp
0697     musicbrainz/MusicBrainzTagsItem.cpp
0698     musicbrainz/MusicBrainzTagsModel.cpp
0699     musicbrainz/MusicBrainzTagsModelDelegate.cpp
0700     musicbrainz/MusicBrainzTagsView.cpp
0701     musicbrainz/MusicBrainzXmlParser.cpp
0702     OpmlOutline.cpp
0703     OpmlParser.cpp
0704     OpmlWriter.cpp
0705     PaletteHandler.cpp
0706     PopupDropperFactory.cpp
0707     playback/DelayedDoers.cpp
0708     playback/EqualizerController.cpp
0709     playback/Fadeouter.cpp
0710     playback/PowerManager.cpp
0711     statemanagement/ApplicationController.cpp
0712     statemanagement/DefaultApplicationController.cpp
0713     toolbar/CurrentTrackToolbar.cpp
0714     toolbar/SlimToolbar.cpp
0715     toolbar/VolumePopupButton.cpp
0716     toolbar/MainToolbar.cpp
0717     widgets/AlbumBreadcrumbWidget.cpp
0718     widgets/AmarokDockWidget.cpp
0719     widgets/AnimatedLabelStack.cpp
0720     widgets/BoxWidget.cpp
0721     widgets/BreadcrumbItemButton.cpp
0722     widgets/ClearSpinBox.cpp
0723     widgets/CoverLabel.cpp
0724     widgets/HintLineEdit.cpp
0725     widgets/kdatecombo.cpp
0726     widgets/TokenDropTarget.cpp
0727     widgets/EditDeleteComboBoxView.cpp
0728     widgets/EditDeleteDelegate.cpp
0729     widgets/ElidingButton.cpp
0730     widgets/FilenameLayoutWidget.cpp
0731     widgets/FlowLayout.cpp
0732     widgets/HorizontalDivider.cpp
0733     widgets/IconButton.cpp
0734     widgets/ComboBox.cpp
0735     widgets/LineEdit.cpp
0736     widgets/Osd.cpp
0737     widgets/TimeLabel.cpp
0738     widgets/PixmapViewer.cpp
0739     widgets/PlayPauseButton.cpp
0740     widgets/PrettyTreeView.cpp
0741     widgets/PrettyTreeDelegate.cpp
0742     widgets/ProgressWidget.cpp
0743     widgets/SearchWidget.cpp
0744     widgets/SliderWidget.cpp
0745     widgets/StarManager.cpp
0746     widgets/TokenPool.cpp
0747     widgets/Token.cpp
0748     widgets/TokenWithLayout.cpp
0749     widgets/VolumeDial.cpp
0750     widgets/TrackActionButton.cpp
0751     widgets/BookmarkTriangle.cpp
0752     widgets/BookmarkPopup.cpp
0753     widgets/TrackSelectWidget.cpp
0754     widgets/MetaQueryWidget.cpp
0755     GlobalCollectionActions.cpp
0756     GlobalCurrentTrackActions.cpp
0757     moodbar/MoodbarManager.cpp
0758 )
0759 
0760 if( LIBLASTFM_FOUND )
0761     set(amaroklib_LIB_SRCS
0762         ${amaroklib_LIB_SRCS}
0763         LastfmReadLabelCapability.cpp
0764     )
0765     include_directories(SYSTEM ${LIBLASTFM_INCLUDE_DIR}/..  ${LIBLASTFM_INCLUDE_DIR})
0766     set( EXTRA_LIBS ${LIBLASTFM_LIBRARY} )
0767 endif()
0768 
0769 if( LIBOFA_FOUND AND AVCODEC_FOUND AND AVFORMAT_FOUND AND AVUTIL_FOUND )
0770     add_definitions(
0771         ${AVCODEC_DEFINITIONS}
0772         ${AVFORMAT_DEFINITIONS}
0773         ${AVUTIL_DEFINITIONS}
0774     )
0775     include_directories(SYSTEM
0776         ${AVCODEC_INCLUDE_DIRS}
0777         ${AVFORMAT_INCLUDE_DIRS}
0778         ${AVUTIL_INCLUDE_DIRS}
0779     )
0780     set( EXTRA_LIBS
0781         ${EXTRA_LIBS}
0782         ${LIBOFA_LIBRARY}
0783         ${AVFORMAT_LIBRARIES}
0784         ${AVCODEC_LIBRARIES}
0785         ${AVUTIL_LIBRARIES}
0786     )
0787     set( amaroklib_LIB_SRCS
0788         ${amaroklib_LIB_SRCS}
0789         musicbrainz/MusicDNSAudioDecoder.cpp
0790         musicbrainz/MusicDNSFinder.cpp
0791         musicbrainz/MusicDNSXmlParser.cpp
0792             )
0793 endif()
0794 
0795 qt5_add_dbus_adaptor(
0796    amaroklib_LIB_SRCS
0797    dbus/org.kde.amarok.Collection.xml
0798    dbus/CollectionDBusHandler.h
0799    CollectionDBusHandler
0800    CollectionAdaptor
0801    CollectionAdaptor )
0802 
0803 set( amaroklib_DEPENDS "amarokpud" )
0804 set( amaroklib_DEPENDS "amarokcore" )
0805 set( amaroklib_DEPENDS "amarok-transcoding" ) # depends on generated ui_*.h file
0806 
0807 kconfig_add_kcfg_files(amaroklib_LIB_SRCS amarokconfig.kcfgc)
0808 add_custom_target(amarokconfig_h DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/amarokconfig.h)
0809 
0810 ki18n_wrap_ui(amaroklib_LIB_SRCS
0811     aboutdialog/OcsPersonItem.ui
0812     dialogs/EditFilterDialog.ui
0813     dialogs/EqualizerDialog.ui
0814     dialogs/MusicBrainzTagger.ui
0815     dialogs/TagDialogBase.ui
0816     dialogs/TagGuessOptions.ui
0817     dialogs/OrganizeCollectionOptions.ui
0818     dialogs/OrganizeCollectionDialogBase.ui
0819     playlist/layouts/PlaylistLayoutEditDialog.ui
0820     core-impl/podcasts/sql/PodcastSettingsBase.ui
0821     core-impl/podcasts/sql/SqlPodcastProviderSettingsWidget.ui
0822     core-impl/podcasts/sql/PodcastFilenameLayoutConfigWidget.ui
0823     browsers/playlistbrowser/PodcastCategoryBase.ui
0824 )
0825 
0826 add_library(amaroklib SHARED ${amaroklib_LIB_SRCS})
0827 
0828 target_link_libraries(amaroklib
0829     Phonon::phonon4qt5
0830     KF5::Archive
0831     KF5::Attica
0832     KF5::CoreAddons
0833     KF5::Declarative
0834     KF5::GlobalAccel
0835     KF5::GuiAddons
0836     KF5::I18n
0837     KF5::IconThemes
0838     KF5::KCMUtils
0839     KF5::KIOCore
0840     KF5::KIOFileWidgets
0841     KF5::KIOWidgets
0842     KF5::NewStuff
0843     KF5::Notifications
0844     KF5::Package
0845     KF5::TextEditor
0846     KF5::ThreadWeaver
0847     KF5::WidgetsAddons
0848     KF5::WindowSystem
0849     Qt5::Gui
0850     Qt5::Qml
0851     Qt5::Quick
0852     Qt5::QuickWidgets
0853     Qt5::Sql
0854     Qt5::Svg
0855     ${CMAKE_DL_LIBS}
0856     Threads::Threads
0857     ${EXTRA_LIBS}
0858     amarokpud
0859     amarokcore
0860     amarok-transcoding
0861     amarokshared
0862 )
0863 
0864 if( Qt5WebEngine_FOUND )
0865     target_link_libraries( amaroklib Qt5::WebEngine )
0866     add_definitions( -DWITH_QT_WEBENGINE )
0867 endif()
0868 
0869 if( Qt5UiTools_FOUND )
0870     target_link_libraries( amaroklib Qt5::UiTools )
0871     add_definitions( -DWITH_QT_UITOOLS )
0872 endif()
0873 
0874 include_directories(SYSTEM ${TAGLIB_INCLUDES})
0875 add_definitions(${TAGLIB_CFLAGS})
0876 target_link_libraries(amaroklib ${TAGLIB_LIBRARIES})
0877 if( TAGLIB-EXTRAS_FOUND )
0878     include_directories(SYSTEM ${TAGLIB-EXTRAS_INCLUDES})
0879     add_definitions(${TAGLIB-EXTRAS_CFLAGS})
0880     target_link_libraries(amaroklib ${TAGLIB-EXTRAS_LIBRARIES})
0881 endif()
0882 
0883 if(WIN32)
0884     target_link_libraries(amaroklib Qt5::WebKitWidgets)
0885 endif()
0886 if(APPLE)
0887     target_link_libraries(amaroklib "/System/Library/Frameworks/Foundation.framework")
0888     set_target_properties(amaroklib PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
0889 endif()
0890 
0891 set_target_properties(amaroklib PROPERTIES VERSION 1.0.0 SOVERSION 1 )
0892 install(TARGETS amaroklib ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} )
0893 
0894 
0895 #####################################################################
0896 # AMAROK
0897 #####################################################################
0898 
0899 set( amarok_SRCS main.cpp )
0900 
0901 file(GLOB ICONS_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/../images/*-apps-amarok.png)
0902 ecm_add_app_icon(amarok_SRCS ICONS ${ICONS_SRCS})
0903 
0904 add_executable(amarok ${amarok_SRCS})
0905 if(APPLE)
0906     set_target_properties(amarok PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
0907     set(MACOSX_BUNDLE_BUNDLE_NAME "Amarok 2")
0908     set(MACOSX_BUNDLE_BUNDLE_VERSION "2.8.0-git")
0909     set(MACOSX_BUNDLE_COPYRIGHT "Amarok Team")
0910     set_target_properties(amarok PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${MAC_FILES_DIR}/Info.plist.template)
0911     set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/amarok.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
0912 endif()
0913 
0914 target_link_libraries(amarok
0915     KF5::CoreAddons
0916     KF5::Crash
0917     KF5::DBusAddons
0918     KF5::I18n
0919 
0920     amarokcore
0921     amaroklib
0922     ${X11_LIBRARIES}
0923 )
0924 
0925 install(TARGETS amarok ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0926 
0927 ########### install files ###############
0928 
0929 install(PROGRAMS org.kde.amarok.desktop DESTINATION ${KDE_INSTALL_APPDIR} )
0930 install(PROGRAMS org.kde.amarok_containers.desktop DESTINATION ${KDE_INSTALL_APPDIR} )
0931 install(FILES org.kde.amarok.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
0932 
0933 install(FILES amarok-plugin.desktop DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR})
0934 install(FILES amarok-contextapplet.desktop DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR})
0935 install(FILES amarok_codecinstall.desktop DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR})
0936 install(FILES amarok_append.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}/ServiceMenus)
0937 install(FILES amarok-play-audiocd.desktop DESTINATION ${KDE_INSTALL_DATADIR}/solid/actions)
0938 
0939 install(FILES amarok.knsrc DESTINATION ${KDE_INSTALL_KNSRCDIR})
0940 
0941 # protocol handlers
0942 install(FILES amarokurls/amarok.protocol  DESTINATION  ${KDE_INSTALL_KSERVICES5DIR})
0943 install(FILES amarokitpc.protocol DESTINATION ${KDE_INSTALL_KSERVICES5DIR})
0944 #install(FILES amarokpcast.protocol DESTINATION ${KDE_INSTALL_KSERVICES5DIR})
0945 
0946 install(FILES amarokconfig.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR} )
0947 install(FILES dbus/org.kde.amarok.App.xml
0948               dbus/org.kde.amarok.Collection.xml
0949               dbus/mpris2/org.kde.amarok.Mpris2Extensions.Player.xml
0950               DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR})
0951 configure_file(dbus/org.kde.amarok.service.in ${CMAKE_CURRENT_BINARY_DIR}/dbus/org.kde.amarok.service @ONLY)
0952 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dbus/org.kde.amarok.service
0953               DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR})
0954 
0955 install(FILES services/InfoParserLoading.html
0956               browsers/hover_info_template.html
0957               DESTINATION ${KDE_INSTALL_DATADIR}/amarok/data)
0958 
0959 ecm_install_icons(ICONS
0960     DESTINATION ${KDE_INSTALL_ICONDIR}
0961     THEME hicolor
0962 )