strawberry-audio-player-win.../src/CMakeLists.txt

1222 lines
35 KiB
CMake
Raw Normal View History

2020-04-23 20:59:09 +02:00
cmake_minimum_required(VERSION 3.0)
2018-02-27 18:06:05 +01:00
if(HAVE_TRANSLATIONS)
include(../cmake/Translations.cmake)
2021-08-07 03:02:27 +02:00
endif()
2018-02-27 18:06:05 +01:00
set(SOURCES
core/mainwindow.cpp
core/application.cpp
core/appearance.cpp
core/player.cpp
core/commandlineoptions.cpp
core/database.cpp
core/sqlquery.cpp
2022-05-13 18:15:04 +02:00
core/sqlrow.cpp
2018-02-27 18:06:05 +01:00
core/metatypes.cpp
core/deletefiles.cpp
core/filesystemmusicstorage.cpp
core/filesystemwatcherinterface.cpp
core/mergedproxymodel.cpp
core/multisortfilterproxy.cpp
core/musicstorage.cpp
2021-01-11 16:48:46 +01:00
core/networkaccessmanager.cpp
core/threadsafenetworkdiskcache.cpp
core/networktimeouts.cpp
2018-02-27 18:06:05 +01:00
core/networkproxyfactory.cpp
core/qtfslistener.cpp
core/settingsprovider.cpp
core/signalchecker.cpp
core/song.cpp
core/songloader.cpp
2019-04-24 23:43:09 +02:00
core/stylehelper.cpp
2018-02-27 18:06:05 +01:00
core/stylesheetloader.cpp
core/tagreaderclient.cpp
core/taskmanager.cpp
core/thread.cpp
core/urlhandler.cpp
core/utilities.cpp
core/imageutils.cpp
2018-02-27 18:06:05 +01:00
core/iconloader.cpp
core/standarditemiconloader.cpp
core/scopedtransaction.cpp
2019-07-22 20:53:05 +02:00
core/translations.cpp
2021-05-20 21:40:08 +02:00
core/systemtrayicon.cpp
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
engine/enginetype.cpp
engine/enginebase.cpp
engine/devicefinders.cpp
2018-02-27 18:06:05 +01:00
engine/devicefinder.cpp
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
analyzer/fht.cpp
analyzer/analyzerbase.cpp
analyzer/analyzercontainer.cpp
analyzer/blockanalyzer.cpp
2019-02-04 21:34:12 +01:00
analyzer/boomanalyzer.cpp
analyzer/rainbowanalyzer.cpp
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
equalizer/equalizer.cpp
equalizer/equalizerslider.cpp
context/contextview.cpp
context/contextalbum.cpp
context/contextalbumsmodel.cpp
context/contextalbumsview.cpp
2018-02-27 18:06:05 +01:00
collection/collection.cpp
collection/collectionmodel.cpp
collection/collectionbackend.cpp
collection/collectionwatcher.cpp
collection/collectionview.cpp
collection/collectionitemdelegate.cpp
2018-02-27 18:06:05 +01:00
collection/collectionviewcontainer.cpp
collection/collectiondirectorymodel.cpp
collection/collectionfilterwidget.cpp
collection/collectionplaylistitem.cpp
collection/collectionquery.cpp
collection/savedgroupingmanager.cpp
collection/groupbydialog.cpp
collection/collectiontask.cpp
2018-02-27 18:06:05 +01:00
playlist/playlist.cpp
playlist/playlistbackend.cpp
playlist/playlistcontainer.cpp
playlist/playlistdelegates.cpp
playlist/playlistfilter.cpp
playlist/playlistfilterparser.cpp
playlist/playlistheader.cpp
playlist/playlistitem.cpp
playlist/playlistlistcontainer.cpp
playlist/playlistlistmodel.cpp
playlist/playlistlistview.cpp
playlist/playlistmanager.cpp
playlist/playlistsaveoptionsdialog.cpp
playlist/playlistsequence.cpp
playlist/playlisttabbar.cpp
playlist/playlistundocommands.cpp
playlist/playlistview.cpp
playlist/songloaderinserter.cpp
playlist/songplaylistitem.cpp
playlist/dynamicplaylistcontrols.cpp
2018-02-27 18:06:05 +01:00
2018-10-21 15:13:48 +02:00
queue/queue.cpp
queue/queueview.cpp
2018-02-27 18:06:05 +01:00
playlistparsers/asxiniparser.cpp
playlistparsers/asxparser.cpp
playlistparsers/cueparser.cpp
playlistparsers/m3uparser.cpp
playlistparsers/parserbase.cpp
playlistparsers/playlistparser.cpp
playlistparsers/plsparser.cpp
playlistparsers/wplparser.cpp
playlistparsers/xmlparser.cpp
playlistparsers/xspfparser.cpp
2018-10-02 00:38:52 +02:00
smartplaylists/playlistgenerator.cpp
smartplaylists/playlistgeneratorinserter.cpp
smartplaylists/playlistquerygenerator.cpp
smartplaylists/smartplaylistquerywizardplugin.cpp
smartplaylists/smartplaylistsearch.cpp
smartplaylists/smartplaylistsearchpreview.cpp
smartplaylists/smartplaylistsearchterm.cpp
smartplaylists/smartplaylistsearchtermwidget.cpp
smartplaylists/smartplaylistsmodel.cpp
smartplaylists/smartplaylistsviewcontainer.cpp
smartplaylists/smartplaylistsview.cpp
smartplaylists/smartplaylistwizard.cpp
smartplaylists/smartplaylistwizardplugin.cpp
2018-02-27 18:06:05 +01:00
covermanager/albumcovermanager.cpp
covermanager/albumcovermanagerlist.cpp
covermanager/albumcoverloader.cpp
covermanager/albumcoverfetcher.cpp
covermanager/albumcoverfetchersearch.cpp
covermanager/albumcoversearcher.cpp
covermanager/albumcoverexport.cpp
covermanager/albumcoverexporter.cpp
covermanager/albumcoverchoicecontroller.cpp
covermanager/coverprovider.cpp
covermanager/coverproviders.cpp
covermanager/coversearchstatistics.cpp
covermanager/coversearchstatisticsdialog.cpp
covermanager/coverexportrunnable.cpp
covermanager/currentalbumcoverloader.cpp
2018-02-27 18:06:05 +01:00
covermanager/coverfromurldialog.cpp
2020-05-10 12:49:11 +02:00
covermanager/jsoncoverprovider.cpp
2018-12-15 00:43:50 +01:00
covermanager/lastfmcoverprovider.cpp
2018-02-27 18:06:05 +01:00
covermanager/musicbrainzcoverprovider.cpp
covermanager/discogscoverprovider.cpp
2019-04-14 02:54:40 +02:00
covermanager/deezercoverprovider.cpp
2020-04-20 22:12:40 +02:00
covermanager/qobuzcoverprovider.cpp
covermanager/musixmatchcoverprovider.cpp
2020-05-09 01:48:08 +02:00
covermanager/spotifycoverprovider.cpp
2018-09-20 22:13:30 +02:00
lyrics/lyricsproviders.cpp
lyrics/lyricsprovider.cpp
lyrics/lyricsfetcher.cpp
lyrics/lyricsfetchersearch.cpp
2019-08-12 18:11:01 +02:00
lyrics/jsonlyricsprovider.cpp
2018-09-20 22:13:30 +02:00
lyrics/auddlyricsprovider.cpp
2019-08-12 18:11:01 +02:00
lyrics/ovhlyricsprovider.cpp
2019-08-12 22:06:01 +02:00
lyrics/lololyricsprovider.cpp
lyrics/geniuslyricsprovider.cpp
lyrics/musixmatchlyricsprovider.cpp
lyrics/chartlyricsprovider.cpp
2018-09-20 22:13:30 +02:00
2018-02-27 18:06:05 +01:00
settings/settingsdialog.cpp
settings/settingspage.cpp
settings/behavioursettingspage.cpp
settings/collectionsettingspage.cpp
settings/backendsettingspage.cpp
settings/playlistsettingspage.cpp
2020-05-09 01:48:08 +02:00
settings/scrobblersettingspage.cpp
settings/coverssettingspage.cpp
settings/lyricssettingspage.cpp
2018-02-27 18:06:05 +01:00
settings/networkproxysettingspage.cpp
settings/appearancesettingspage.cpp
2020-05-09 01:48:08 +02:00
settings/contextsettingspage.cpp
2018-02-27 18:06:05 +01:00
settings/notificationssettingspage.cpp
dialogs/about.cpp
dialogs/console.cpp
dialogs/errordialog.cpp
dialogs/edittagdialog.cpp
dialogs/trackselectiondialog.cpp
dialogs/addstreamdialog.cpp
2020-08-06 22:54:21 +02:00
dialogs/userpassdialog.cpp
dialogs/deleteconfirmationdialog.cpp
2020-08-30 18:09:13 +02:00
dialogs/lastfmimportdialog.cpp
2020-10-15 21:47:52 +02:00
dialogs/snapdialog.cpp
2018-02-27 18:06:05 +01:00
widgets/autoexpandingtreeview.cpp
widgets/busyindicator.cpp
widgets/clickablelabel.cpp
widgets/fancytabwidget.cpp
widgets/favoritewidget.cpp
widgets/fileview.cpp
widgets/fileviewlist.cpp
widgets/forcescrollperpixel.cpp
widgets/freespacebar.cpp
widgets/groupediconview.cpp
widgets/lineedit.cpp
widgets/linetextedit.cpp
widgets/multiloadingindicator.cpp
widgets/playingwidget.cpp
widgets/renametablineedit.cpp
2019-03-09 16:48:45 +01:00
widgets/volumeslider.cpp
2018-02-27 18:06:05 +01:00
widgets/stickyslider.cpp
widgets/stretchheaderview.cpp
widgets/trackslider.cpp
widgets/tracksliderpopup.cpp
widgets/tracksliderslider.cpp
2018-08-09 18:10:03 +02:00
widgets/loginstatewidget.cpp
widgets/ratingwidget.cpp
2022-06-05 04:39:06 +02:00
widgets/resizabletextedit.cpp
2018-10-02 00:38:52 +02:00
2020-08-09 01:37:00 +02:00
osd/osdbase.cpp
osd/osdpretty.cpp
internet/internetservices.cpp
2018-08-09 18:10:03 +02:00
internet/internetservice.cpp
internet/internetplaylistitem.cpp
internet/internetsearchview.cpp
internet/internetsearchmodel.cpp
internet/internetsearchsortmodel.cpp
internet/internetsearchitemdelegate.cpp
2018-10-14 00:08:33 +02:00
internet/localredirectserver.cpp
2019-06-17 23:54:24 +02:00
internet/internetsongsview.cpp
internet/internettabsview.cpp
internet/internetcollectionview.cpp
internet/internetcollectionviewcontainer.cpp
internet/internetsearchview.cpp
2021-07-11 01:02:53 +02:00
radios/radioservices.cpp
radios/radiobackend.cpp
radios/radiomodel.cpp
radios/radioview.cpp
radios/radioviewcontainer.cpp
radios/radioservice.cpp
radios/radioplaylistitem.cpp
radios/radiochannel.cpp
radios/somafmservice.cpp
radios/radioparadiseservice.cpp
scrobbler/audioscrobbler.cpp
scrobbler/scrobblerservices.cpp
scrobbler/scrobblerservice.cpp
scrobbler/scrobblercache.cpp
scrobbler/scrobblercacheitem.cpp
scrobbler/scrobblingapi20.cpp
scrobbler/lastfmscrobbler.cpp
scrobbler/librefmscrobbler.cpp
scrobbler/listenbrainzscrobbler.cpp
2020-08-30 18:09:13 +02:00
scrobbler/lastfmimport.cpp
organize/organize.cpp
organize/organizeformat.cpp
organize/organizedialog.cpp
organize/organizeerrordialog.cpp
2019-01-06 16:48:23 +01:00
2018-02-27 18:06:05 +01:00
)
set(HEADERS
core/mainwindow.h
core/application.h
2021-06-20 19:04:08 +02:00
core/appearance.h
2018-02-27 18:06:05 +01:00
core/player.h
core/database.h
core/deletefiles.h
core/filesystemwatcherinterface.h
core/mergedproxymodel.h
2021-06-20 19:04:08 +02:00
core/multisortfilterproxy.h
2021-01-11 16:48:46 +01:00
core/networkaccessmanager.h
core/threadsafenetworkdiskcache.h
core/networktimeouts.h
2018-02-27 18:06:05 +01:00
core/qtfslistener.h
core/songloader.h
core/tagreaderclient.h
core/taskmanager.h
2021-06-20 19:04:08 +02:00
core/thread.h
2018-02-27 18:06:05 +01:00
core/urlhandler.h
core/standarditemiconloader.h
2021-06-20 19:04:08 +02:00
core/translations.h
core/potranslator.h
2018-02-27 18:06:05 +01:00
core/mimedata.h
core/stylesheetloader.h
2018-02-27 18:06:05 +01:00
engine/enginebase.h
engine/devicefinders.h
2018-02-27 18:06:05 +01:00
analyzer/analyzerbase.h
analyzer/analyzercontainer.h
analyzer/blockanalyzer.h
2019-02-04 21:34:12 +01:00
analyzer/boomanalyzer.h
analyzer/rainbowanalyzer.h
2018-10-02 00:38:52 +02:00
2018-02-27 18:06:05 +01:00
equalizer/equalizer.h
equalizer/equalizerslider.h
2018-10-02 00:38:52 +02:00
context/contextview.h
context/contextalbum.h
context/contextalbumsmodel.h
context/contextalbumsview.h
2018-02-27 18:06:05 +01:00
collection/collection.h
collection/collectionmodel.h
collection/collectionbackend.h
collection/collectionwatcher.h
collection/collectionview.h
collection/collectionitemdelegate.h
2018-02-27 18:06:05 +01:00
collection/collectionviewcontainer.h
collection/collectiondirectorymodel.h
collection/collectionfilterwidget.h
collection/savedgroupingmanager.h
collection/groupbydialog.h
playlist/playlist.h
playlist/playlistbackend.h
playlist/playlistcontainer.h
playlist/playlistdelegates.h
playlist/playlistfilter.h
playlist/playlistheader.h
playlist/playlistlistcontainer.h
playlist/playlistlistmodel.h
playlist/playlistlistview.h
2021-06-20 19:04:08 +02:00
playlist/playlistlistsortfiltermodel.h
2018-02-27 18:06:05 +01:00
playlist/playlistmanager.h
playlist/playlistsaveoptionsdialog.h
playlist/playlistsequence.h
playlist/playlisttabbar.h
playlist/playlistview.h
playlist/playlistitemmimedata.h
playlist/songloaderinserter.h
playlist/songmimedata.h
playlist/dynamicplaylistcontrols.h
2018-02-27 18:06:05 +01:00
2018-10-21 15:13:48 +02:00
queue/queue.h
queue/queueview.h
2018-02-27 18:06:05 +01:00
playlistparsers/asxiniparser.h
playlistparsers/asxparser.h
playlistparsers/cueparser.h
playlistparsers/m3uparser.h
playlistparsers/parserbase.h
playlistparsers/playlistparser.h
playlistparsers/plsparser.h
2021-06-20 19:04:08 +02:00
playlistparsers/wplparser.h
playlistparsers/xmlparser.h
2018-02-27 18:06:05 +01:00
playlistparsers/xspfparser.h
2018-10-02 00:38:52 +02:00
smartplaylists/playlistgenerator.h
smartplaylists/playlistgeneratorinserter.h
2021-06-20 19:04:08 +02:00
smartplaylists/playlistquerygenerator.h
smartplaylists/playlistgeneratormimedata.h
smartplaylists/smartplaylistquerywizardplugin.h
smartplaylists/smartplaylistsearchpreview.h
smartplaylists/smartplaylistsearchtermwidget.h
smartplaylists/smartplaylistsmodel.h
smartplaylists/smartplaylistsviewcontainer.h
smartplaylists/smartplaylistsview.h
smartplaylists/smartplaylistwizard.h
smartplaylists/smartplaylistwizardplugin.h
2018-02-27 18:06:05 +01:00
covermanager/albumcovermanager.h
covermanager/albumcovermanagerlist.h
covermanager/albumcoverloader.h
covermanager/albumcoverfetcher.h
covermanager/albumcoverfetchersearch.h
covermanager/albumcoversearcher.h
covermanager/albumcoverexport.h
covermanager/albumcoverexporter.h
covermanager/albumcoverchoicecontroller.h
covermanager/coverprovider.h
covermanager/coverproviders.h
covermanager/coversearchstatisticsdialog.h
covermanager/coverexportrunnable.h
covermanager/currentalbumcoverloader.h
2018-02-27 18:06:05 +01:00
covermanager/coverfromurldialog.h
2020-05-10 12:49:11 +02:00
covermanager/jsoncoverprovider.h
2018-12-15 00:43:50 +01:00
covermanager/lastfmcoverprovider.h
2018-02-27 18:06:05 +01:00
covermanager/musicbrainzcoverprovider.h
covermanager/discogscoverprovider.h
2019-04-14 02:54:40 +02:00
covermanager/deezercoverprovider.h
2020-04-20 22:12:40 +02:00
covermanager/qobuzcoverprovider.h
covermanager/musixmatchcoverprovider.h
2020-05-09 01:48:08 +02:00
covermanager/spotifycoverprovider.h
2018-09-20 22:13:30 +02:00
lyrics/lyricsproviders.h
lyrics/lyricsprovider.h
lyrics/lyricsfetcher.h
lyrics/lyricsfetchersearch.h
2019-08-12 18:11:01 +02:00
lyrics/jsonlyricsprovider.h
2018-09-20 22:13:30 +02:00
lyrics/auddlyricsprovider.h
2019-08-12 18:11:01 +02:00
lyrics/ovhlyricsprovider.h
2019-08-12 22:06:01 +02:00
lyrics/lololyricsprovider.h
lyrics/geniuslyricsprovider.h
lyrics/musixmatchlyricsprovider.h
lyrics/chartlyricsprovider.h
2018-08-09 18:10:03 +02:00
2018-02-27 18:06:05 +01:00
settings/settingsdialog.h
settings/settingspage.h
settings/behavioursettingspage.h
settings/collectionsettingspage.h
settings/backendsettingspage.h
settings/playlistsettingspage.h
2020-05-09 01:48:08 +02:00
settings/scrobblersettingspage.h
settings/coverssettingspage.h
settings/lyricssettingspage.h
2018-02-27 18:06:05 +01:00
settings/networkproxysettingspage.h
settings/appearancesettingspage.h
2020-05-09 01:48:08 +02:00
settings/contextsettingspage.h
2018-02-27 18:06:05 +01:00
settings/notificationssettingspage.h
2018-08-09 18:10:03 +02:00
2018-02-27 18:06:05 +01:00
dialogs/about.h
dialogs/errordialog.h
dialogs/console.h
dialogs/edittagdialog.h
dialogs/trackselectiondialog.h
dialogs/addstreamdialog.h
2020-08-06 22:54:21 +02:00
dialogs/userpassdialog.h
dialogs/deleteconfirmationdialog.h
2020-08-30 18:09:13 +02:00
dialogs/lastfmimportdialog.h
2020-10-15 21:47:52 +02:00
dialogs/snapdialog.h
2018-02-27 18:06:05 +01:00
widgets/autoexpandingtreeview.h
widgets/busyindicator.h
widgets/clickablelabel.h
widgets/fancytabwidget.h
widgets/favoritewidget.h
widgets/fileview.h
widgets/fileviewlist.h
widgets/freespacebar.h
widgets/groupediconview.h
widgets/lineedit.h
widgets/linetextedit.h
widgets/multiloadingindicator.h
widgets/playingwidget.h
widgets/renametablineedit.h
2019-03-09 16:48:45 +01:00
widgets/volumeslider.h
2018-02-27 18:06:05 +01:00
widgets/stickyslider.h
widgets/stretchheaderview.h
widgets/trackslider.h
widgets/tracksliderpopup.h
widgets/tracksliderslider.h
2018-08-09 18:10:03 +02:00
widgets/loginstatewidget.h
widgets/qsearchfield.h
widgets/ratingwidget.h
2021-06-20 19:04:08 +02:00
widgets/forcescrollperpixel.h
2022-06-05 04:39:06 +02:00
widgets/resizabletextedit.h
2018-10-02 00:38:52 +02:00
2020-08-09 01:37:00 +02:00
osd/osdbase.h
osd/osdpretty.h
internet/internetservices.h
2018-08-09 18:10:03 +02:00
internet/internetservice.h
internet/internetsongmimedata.h
internet/internetsearchmodel.h
2021-06-20 19:04:08 +02:00
internet/internetsearchsortmodel.h
internet/internetsearchitemdelegate.h
internet/internetsearchview.h
2018-10-14 00:08:33 +02:00
internet/localredirectserver.h
2019-06-17 23:54:24 +02:00
internet/internetsongsview.h
internet/internettabsview.h
internet/internetcollectionview.h
internet/internetcollectionviewcontainer.h
2018-08-09 18:10:03 +02:00
2021-07-11 01:02:53 +02:00
radios/radioservices.h
radios/radiobackend.h
radios/radiomodel.h
radios/radioview.h
radios/radioviewcontainer.h
radios/radioservice.h
radios/radiomimedata.h
radios/somafmservice.h
radios/radioparadiseservice.h
scrobbler/audioscrobbler.h
scrobbler/scrobblerservices.h
scrobbler/scrobblerservice.h
scrobbler/scrobblercache.h
scrobbler/scrobblercacheitem.h
scrobbler/scrobblingapi20.h
scrobbler/lastfmscrobbler.h
scrobbler/librefmscrobbler.h
scrobbler/listenbrainzscrobbler.h
2020-08-30 18:09:13 +02:00
scrobbler/lastfmimport.h
organize/organize.h
organize/organizedialog.h
organize/organizeerrordialog.h
2019-01-06 16:48:23 +01:00
2018-02-27 18:06:05 +01:00
)
set(UI
core/mainwindow.ui
collection/groupbydialog.ui
collection/collectionfilterwidget.ui
collection/collectionviewcontainer.ui
collection/savedgroupingmanager.ui
playlist/playlistcontainer.ui
playlist/playlistlistcontainer.ui
playlist/playlistsaveoptionsdialog.ui
playlist/playlistsequence.ui
playlist/dynamicplaylistcontrols.ui
2018-10-21 15:13:48 +02:00
queue/queueview.ui
2018-02-27 18:06:05 +01:00
smartplaylists/smartplaylistquerysearchpage.ui
smartplaylists/smartplaylistquerysortpage.ui
smartplaylists/smartplaylistsearchpreview.ui
smartplaylists/smartplaylistsearchtermwidget.ui
smartplaylists/smartplaylistsviewcontainer.ui
smartplaylists/smartplaylistwizardfinishpage.ui
2018-02-27 18:06:05 +01:00
covermanager/albumcoverexport.ui
covermanager/albumcovermanager.ui
covermanager/albumcoversearcher.ui
covermanager/coversearchstatisticsdialog.ui
covermanager/coverfromurldialog.ui
settings/settingsdialog.ui
settings/behavioursettingspage.ui
settings/collectionsettingspage.ui
settings/backendsettingspage.ui
settings/contextsettingspage.ui
2018-02-27 18:06:05 +01:00
settings/playlistsettingspage.ui
2020-05-09 01:48:08 +02:00
settings/scrobblersettingspage.ui
settings/coverssettingspage.ui
settings/lyricssettingspage.ui
2018-02-27 18:06:05 +01:00
settings/networkproxysettingspage.ui
settings/appearancesettingspage.ui
settings/notificationssettingspage.ui
equalizer/equalizer.ui
equalizer/equalizerslider.ui
dialogs/about.ui
dialogs/errordialog.ui
dialogs/console.ui
dialogs/edittagdialog.ui
dialogs/trackselectiondialog.ui
dialogs/addstreamdialog.ui
2020-08-06 22:54:21 +02:00
dialogs/userpassdialog.ui
2020-08-30 18:09:13 +02:00
dialogs/lastfmimportdialog.ui
2020-10-15 21:47:52 +02:00
dialogs/snapdialog.ui
2018-02-27 18:06:05 +01:00
widgets/trackslider.ui
widgets/fileview.ui
2018-08-09 18:10:03 +02:00
widgets/loginstatewidget.ui
2018-10-02 00:38:52 +02:00
2020-08-09 01:37:00 +02:00
osd/osdpretty.ui
internet/internettabsview.ui
internet/internetcollectionviewcontainer.ui
internet/internetsearchview.ui
2018-08-09 18:10:03 +02:00
2021-07-11 01:02:53 +02:00
radios/radioviewcontainer.ui
organize/organizedialog.ui
organize/organizeerrordialog.ui
2019-01-06 16:48:23 +01:00
2018-02-27 18:06:05 +01:00
)
2018-10-14 00:08:33 +02:00
set(RESOURCES ../data/data.qrc ../data/icons.qrc)
2018-02-27 18:06:05 +01:00
set(OTHER_SOURCES)
option(USE_INSTALL_PREFIX "Look for data in CMAKE_INSTALL_PREFIX" ON)
if(NOT APPLE)
set(NOT_APPLE ON)
2021-07-30 21:17:50 +02:00
optional_source(NOT_APPLE SOURCES widgets/qsearchfield_nonmac.cpp core/qtsystemtrayicon.cpp HEADERS core/qtsystemtrayicon.h)
endif()
if(HAVE_GLOBALSHORTCUTS)
optional_source(HAVE_GLOBALSHORTCUTS
2021-01-26 19:13:29 +01:00
SOURCES globalshortcuts/globalshortcutsmanager.cpp globalshortcuts/globalshortcutsbackend.cpp globalshortcuts/globalshortcutgrabber.cpp settings/globalshortcutssettingspage.cpp
HEADERS globalshortcuts/globalshortcutsmanager.h globalshortcuts/globalshortcutsbackend.h globalshortcuts/globalshortcutgrabber.h settings/globalshortcutssettingspage.h
UI globalshortcuts/globalshortcutgrabber.ui settings/globalshortcutssettingspage.ui
)
optional_source(HAVE_DBUS
2021-05-29 20:35:55 +02:00
SOURCES globalshortcuts/globalshortcutsbackend-kde.cpp globalshortcuts/globalshortcutsbackend-gnome.cpp globalshortcuts/globalshortcutsbackend-mate.cpp
HEADERS globalshortcuts/globalshortcutsbackend-kde.h globalshortcuts/globalshortcutsbackend-gnome.h globalshortcuts/globalshortcutsbackend-mate.h
)
optional_source(HAVE_X11_GLOBALSHORTCUTS
SOURCES globalshortcuts/globalshortcutsbackend-x11.cpp globalshortcuts/globalshortcut.cpp globalshortcuts/globalshortcut-x11.cpp
HEADERS globalshortcuts/globalshortcutsbackend-x11.h globalshortcuts/globalshortcut.h
)
optional_source(WIN32
SOURCES globalshortcuts/globalshortcutsbackend-win.cpp globalshortcuts/globalshortcut.cpp globalshortcuts/globalshortcut-win.cpp
HEADERS globalshortcuts/globalshortcutsbackend-win.h globalshortcuts/globalshortcut.h
)
endif(HAVE_GLOBALSHORTCUTS)
# ALSA
2021-07-30 21:17:50 +02:00
optional_source(HAVE_ALSA SOURCES engine/alsadevicefinder.cpp engine/alsapcmdevicefinder.cpp)
2018-02-27 18:06:05 +01:00
2020-08-09 01:37:00 +02:00
# DBUS
2021-07-30 21:17:50 +02:00
optional_source(HAVE_DBUS SOURCES osd/osddbus.cpp HEADERS osd/osddbus.h)
2018-02-27 18:06:05 +01:00
# GStreamer
optional_source(HAVE_GSTREAMER
2021-10-10 16:32:54 +02:00
SOURCES engine/gststartup.cpp engine/gstengine.cpp engine/gstenginepipeline.cpp
HEADERS engine/gststartup.h engine/gstengine.h engine/gstenginepipeline.h
)
2018-02-27 18:06:05 +01:00
# VLC
2021-07-30 21:17:50 +02:00
optional_source(HAVE_VLC SOURCES engine/vlcengine.cpp HEADERS engine/vlcengine.h)
2018-02-27 18:06:05 +01:00
2018-05-14 17:57:37 +02:00
# DBUS and MPRIS - Unix specific
if(UNIX AND HAVE_DBUS)
2018-02-27 18:06:05 +01:00
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/dbus)
2021-07-30 21:17:50 +02:00
optional_source(HAVE_DBUS SOURCES core/mpris2.cpp HEADERS core/mpris2.h)
optional_source(HAVE_UDISKS2 SOURCES device/udisks2lister.cpp HEADERS device/udisks2lister.h)
2018-02-27 18:06:05 +01:00
2021-07-30 21:17:50 +02:00
# MPRIS 2.0 DBUS interfaces
qt_add_dbus_adaptor(SOURCES dbus/org.mpris.MediaPlayer2.Player.xml core/mpris2.h mpris::Mpris2 core/mpris2_player Mpris2Player)
qt_add_dbus_adaptor(SOURCES dbus/org.mpris.MediaPlayer2.xml core/mpris2.h mpris::Mpris2 core/mpris2_root Mpris2Root)
qt_add_dbus_adaptor(SOURCES dbus/org.mpris.MediaPlayer2.TrackList.xml core/mpris2.h mpris::Mpris2 core/mpris2_tracklist Mpris2TrackList)
2020-10-31 02:08:19 +01:00
2021-07-30 21:17:50 +02:00
# MPRIS 2.1 DBUS interfaces
qt_add_dbus_adaptor(SOURCES dbus/org.mpris.MediaPlayer2.Playlists.xml core/mpris2.h mpris::Mpris2 core/mpris2_playlists Mpris2Playlists)
# org.freedesktop.Notifications DBUS interface
qt_add_dbus_interface(SOURCES dbus/org.freedesktop.Notifications.xml dbus/notification)
# org.gnome.SettingsDaemon interface
qt_add_dbus_interface(SOURCES dbus/org.gnome.SettingsDaemon.MediaKeys.xml dbus/gnomesettingsdaemon)
# org.mate.SettingsDaemon interface
qt_add_dbus_interface(SOURCES dbus/org.mate.SettingsDaemon.MediaKeys.xml dbus/matesettingsdaemon)
# org.kde.KGlobalAccel interface
qt_add_dbus_interface(SOURCES dbus/org.kde.KGlobalAccel.xml dbus/kglobalaccel)
qt_add_dbus_interface(SOURCES dbus/org.kde.KGlobalAccel.Component.xml dbus/kglobalaccelcomponent)
2018-02-27 18:06:05 +01:00
if(HAVE_UDISKS2)
2021-07-30 21:17:50 +02:00
set_source_files_properties(dbus/org.freedesktop.DBus.ObjectManager.xml PROPERTIES NO_NAMESPACE dbus/objectmanager INCLUDE dbus/metatypes.h)
set_source_files_properties(dbus/org.freedesktop.UDisks2.Filesystem.xml PROPERTIES NO_NAMESPACE dbus/udisks2filesystem INCLUDE dbus/metatypes.h)
set_source_files_properties(dbus/org.freedesktop.UDisks2.Block.xml PROPERTIES NO_NAMESPACE dbus/udisks2block INCLUDE dbus/metatypes.h)
set_source_files_properties(dbus/org.freedesktop.UDisks2.Drive.xml PROPERTIES NO_NAMESPACE dbus/udisks2drive INCLUDE dbus/metatypes.h)
set_source_files_properties(dbus/org.freedesktop.UDisks2.Job.xml PROPERTIES NO_NAMESPACE dbus/udisks2job INCLUDE dbus/metatypes.h)
qt_add_dbus_interface(SOURCES dbus/org.freedesktop.DBus.ObjectManager.xml dbus/objectmanager)
qt_add_dbus_interface(SOURCES dbus/org.freedesktop.UDisks2.Filesystem.xml dbus/udisks2filesystem)
qt_add_dbus_interface(SOURCES dbus/org.freedesktop.UDisks2.Block.xml dbus/udisks2block)
qt_add_dbus_interface(SOURCES dbus/org.freedesktop.UDisks2.Drive.xml dbus/udisks2drive)
qt_add_dbus_interface(SOURCES dbus/org.freedesktop.UDisks2.Job.xml dbus/udisks2job)
endif(HAVE_UDISKS2)
2018-02-27 18:06:05 +01:00
endif(UNIX AND HAVE_DBUS)
2018-02-27 18:06:05 +01:00
2018-09-20 17:36:23 +02:00
optional_source(UNIX
SOURCES
device/connecteddevice.cpp
device/devicedatabasebackend.cpp
device/devicelister.cpp
device/devicemanager.cpp
device/devicestatefiltermodel.cpp
device/filesystemdevice.cpp
device/deviceviewcontainer.cpp
device/deviceview.cpp
device/deviceproperties.cpp
device/deviceinfo.cpp
2018-09-20 17:36:23 +02:00
HEADERS
device/connecteddevice.h
device/devicedatabasebackend.h
device/devicelister.h
device/devicemanager.h
device/devicestatefiltermodel.h
device/filesystemdevice.h
device/deviceviewcontainer.h
device/deviceview.h
device/deviceproperties.h
UI
device/deviceproperties.ui
device/deviceviewcontainer.ui
)
2018-02-27 18:06:05 +01:00
# Libgpod device backend
optional_source(HAVE_LIBGPOD
SOURCES
device/gpoddevice.cpp
device/gpodloader.cpp
HEADERS
device/gpoddevice.h
device/gpodloader.h
)
# GIO device backend
2021-07-30 21:17:50 +02:00
optional_source(HAVE_GIO SOURCES device/giolister.cpp HEADERS device/giolister.h)
2018-02-27 18:06:05 +01:00
2021-06-20 19:04:08 +02:00
# MTP device
2018-02-27 18:06:05 +01:00
optional_source(HAVE_LIBMTP
SOURCES
device/mtpconnection.cpp
device/mtpdevice.cpp
device/mtploader.cpp
HEADERS
2021-06-20 19:04:08 +02:00
device/mtpconnection.h
2018-02-27 18:06:05 +01:00
device/mtpdevice.h
device/mtploader.h
)
# Pulse audio integration
2021-07-30 21:17:50 +02:00
optional_source(HAVE_LIBPULSE SOURCES engine/pulsedevicefinder.cpp)
2018-02-27 18:06:05 +01:00
# Transcoder require GStreamer
2018-02-27 18:06:05 +01:00
optional_source(HAVE_GSTREAMER
SOURCES
transcoder/transcoder.cpp
transcoder/transcodedialog.cpp
transcoder/transcoderoptionsdialog.cpp
transcoder/transcoderoptionsflac.cpp
transcoder/transcoderoptionswavpack.cpp
transcoder/transcoderoptionsvorbis.cpp
2018-02-27 18:06:05 +01:00
transcoder/transcoderoptionsopus.cpp
transcoder/transcoderoptionsspeex.cpp
transcoder/transcoderoptionsaac.cpp
transcoder/transcoderoptionsasf.cpp
transcoder/transcoderoptionsmp3.cpp
settings/transcodersettingspage.cpp
2018-02-27 18:06:05 +01:00
HEADERS
transcoder/transcoder.h
transcoder/transcodedialog.h
transcoder/transcoderoptionsdialog.h
2021-06-20 19:04:08 +02:00
transcoder/transcoderoptionsinterface.h
transcoder/transcoderoptionsflac.h
transcoder/transcoderoptionswavpack.h
transcoder/transcoderoptionsvorbis.h
transcoder/transcoderoptionsopus.h
transcoder/transcoderoptionsspeex.h
transcoder/transcoderoptionsaac.h
transcoder/transcoderoptionsasf.h
2018-02-27 18:06:05 +01:00
transcoder/transcoderoptionsmp3.h
settings/transcodersettingspage.h
2018-02-27 18:06:05 +01:00
UI
transcoder/transcodedialog.ui
transcoder/transcodelogdialog.ui
transcoder/transcoderoptionsaac.ui
transcoder/transcoderoptionsdialog.ui
transcoder/transcoderoptionsflac.ui
transcoder/transcoderoptionswavpack.ui
transcoder/transcoderoptionsvorbis.ui
2018-02-27 18:06:05 +01:00
transcoder/transcoderoptionsopus.ui
transcoder/transcoderoptionsspeex.ui
transcoder/transcoderoptionsasf.ui
transcoder/transcoderoptionsmp3.ui
settings/transcodersettingspage.ui
2018-02-27 18:06:05 +01:00
)
# CHROMAPRINT
if(HAVE_SONGFINGERPRINTING OR HAVE_MUSICBRAINZ)
optional_source(CHROMAPRINT_FOUND SOURCES engine/chromaprinter.cpp)
endif()
# MusicBrainz
optional_source(HAVE_MUSICBRAINZ
SOURCES
musicbrainz/acoustidclient.cpp
musicbrainz/musicbrainzclient.cpp
musicbrainz/tagfetcher.cpp
HEADERS
musicbrainz/acoustidclient.h
musicbrainz/musicbrainzclient.h
musicbrainz/tagfetcher.h
)
2018-02-27 18:06:05 +01:00
# CDIO backend and device
optional_source(HAVE_AUDIOCD
SOURCES
device/cddadevice.cpp
device/cddalister.cpp
device/cddasongloader.cpp
HEADERS
device/cddadevice.h
device/cddalister.h
device/cddasongloader.h
)
# Platform specific - macOS
optional_source(APPLE
SOURCES
2021-07-21 17:29:00 +02:00
core/scoped_nsautorelease_pool.mm
core/mac_utilities.mm
core/mac_startup.mm
core/macsystemtrayicon.mm
core/macfslistener.mm
2020-08-09 01:37:00 +02:00
osd/osdmac.mm
widgets/qsearchfield_mac.mm
2019-01-01 20:22:19 +01:00
engine/macosdevicefinder.cpp
2021-01-26 19:13:29 +01:00
globalshortcuts/globalshortcutsbackend-macos.mm
2019-01-01 21:40:36 +01:00
globalshortcuts/globalshortcutgrabber.mm
2021-07-30 21:17:50 +02:00
device/macosdevicelister.mm
HEADERS
core/macsystemtrayicon.h
core/macfslistener.h
2020-08-09 01:37:00 +02:00
osd/osdmac.h
2021-01-26 19:13:29 +01:00
globalshortcuts/globalshortcutsbackend-macos.h
2021-07-30 21:17:50 +02:00
device/macosdevicelister.h
)
# Platform specific - Windows
optional_source(WIN32
SOURCES
engine/directsounddevicefinder.cpp
engine/mmdevicefinder.cpp
2020-10-17 03:41:28 +02:00
core/windows7thumbbar.cpp
HEADERS
core/windows7thumbbar.h
)
2018-02-27 18:06:05 +01:00
2019-06-17 23:54:24 +02:00
optional_source(HAVE_SUBSONIC
SOURCES
subsonic/subsonicservice.cpp
subsonic/subsonicurlhandler.cpp
subsonic/subsonicbaserequest.cpp
subsonic/subsonicrequest.cpp
subsonic/subsonicscrobblerequest.cpp
2019-06-17 23:54:24 +02:00
settings/subsonicsettingspage.cpp
scrobbler/subsonicscrobbler.cpp
2019-06-17 23:54:24 +02:00
HEADERS
subsonic/subsonicservice.h
subsonic/subsonicurlhandler.h
subsonic/subsonicbaserequest.h
subsonic/subsonicrequest.h
subsonic/subsonicscrobblerequest.h
2019-06-17 23:54:24 +02:00
settings/subsonicsettingspage.h
scrobbler/subsonicscrobbler.h
2019-06-17 23:54:24 +02:00
UI
settings/subsonicsettingspage.ui
)
2020-04-13 19:04:06 +02:00
optional_source(HAVE_TIDAL
SOURCES
tidal/tidalservice.cpp
tidal/tidalurlhandler.cpp
tidal/tidalbaserequest.cpp
tidal/tidalrequest.cpp
tidal/tidalstreamurlrequest.cpp
tidal/tidalfavoriterequest.cpp
settings/tidalsettingspage.cpp
covermanager/tidalcoverprovider.cpp
HEADERS
tidal/tidalservice.h
tidal/tidalurlhandler.h
tidal/tidalbaserequest.h
tidal/tidalrequest.h
tidal/tidalstreamurlrequest.h
tidal/tidalfavoriterequest.h
settings/tidalsettingspage.h
covermanager/tidalcoverprovider.h
UI
settings/tidalsettingspage.ui
)
optional_source(HAVE_QOBUZ
SOURCES
qobuz/qobuzservice.cpp
qobuz/qobuzurlhandler.cpp
qobuz/qobuzbaserequest.cpp
qobuz/qobuzrequest.cpp
qobuz/qobuzstreamurlrequest.cpp
qobuz/qobuzfavoriterequest.cpp
settings/qobuzsettingspage.cpp
HEADERS
qobuz/qobuzservice.h
qobuz/qobuzurlhandler.h
qobuz/qobuzbaserequest.h
qobuz/qobuzrequest.h
qobuz/qobuzstreamurlrequest.h
qobuz/qobuzfavoriterequest.h
settings/qobuzsettingspage.h
UI
settings/qobuzsettingspage.ui
)
2019-04-18 15:03:01 +02:00
# Moodbar
optional_source(HAVE_MOODBAR
SOURCES
moodbar/moodbarbuilder.cpp
moodbar/moodbarcontroller.cpp
moodbar/moodbaritemdelegate.cpp
moodbar/moodbarloader.cpp
moodbar/moodbarpipeline.cpp
moodbar/moodbarproxystyle.cpp
moodbar/moodbarrenderer.cpp
settings/moodbarsettingspage.cpp
HEADERS
moodbar/moodbarcontroller.h
moodbar/moodbaritemdelegate.h
moodbar/moodbarloader.h
moodbar/moodbarpipeline.h
moodbar/moodbarproxystyle.h
settings/moodbarsettingspage.h
UI
settings/moodbarsettingspage.ui
)
2019-01-01 21:56:24 +01:00
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
2018-09-10 21:58:57 +02:00
2021-07-30 21:17:50 +02:00
qt_wrap_cpp(MOC ${HEADERS})
qt_wrap_ui(UIC ${UI})
qt_add_resources(QRC ${RESOURCES})
2018-02-27 18:06:05 +01:00
if(HAVE_TRANSLATIONS)
set(LINGUAS "All" CACHE STRING "A space-seperated list of translations to compile in to Strawberry, or \"None\".")
2021-08-07 03:02:27 +02:00
if(LINGUAS STREQUAL "All")
# build LANGUAGES from all existing .po files
file(GLOB pofiles translations/*.po)
foreach(pofile ${pofiles})
get_filename_component(lang ${pofile} NAME_WE)
list(APPEND LANGUAGES ${lang})
endforeach(pofile)
2021-08-07 03:02:27 +02:00
else(LINGUAS STREQUAL "All")
if(NOT LINGUAS OR LINGUAS STREQUAL "None")
set(LANGUAGES "")
else(NOT LINGUAS OR LINGUAS STREQUAL "None")
string(REGEX MATCHALL [a-zA-Z_@]+ LANGUAGES ${LINGUAS})
2021-08-07 03:02:27 +02:00
endif(NOT LINGUAS OR LINGUAS STREQUAL "None")
endif(LINGUAS STREQUAL "All")
add_pot(POT
${CMAKE_CURRENT_SOURCE_DIR}/translations/header
${CMAKE_CURRENT_SOURCE_DIR}/translations/translations.pot
${SOURCES}
${MOC}
${UIC}
${OTHER_SOURCES}
../data/html/oauthsuccess.html
)
add_po(PO strawberry_ LANGUAGES ${LANGUAGES} DIRECTORY translations)
endif(HAVE_TRANSLATIONS)
2020-06-17 22:56:20 +02:00
link_directories(
${Boost_LIBRARY_DIRS}
${GLIB_LIBRARY_DIRS}
${GOBJECT_LIBRARY_DIRS}
${GNUTLS_LIBRARY_DIRS}
${SQLITE_LIBRARY_DIRS}
${SINGLEAPPLICATION_LIBRARY_DIRS}
${SINGLECOREAPPLICATION_LIBRARY_DIRS}
${Iconv_LIBRARY_DIRS}
2020-06-17 22:56:20 +02:00
)
if(HAVE_ALSA)
link_directories(${ALSA_LIBRARY_DIRS})
2021-08-07 03:02:27 +02:00
endif()
2020-06-17 22:56:20 +02:00
if(HAVE_LIBPULSE)
link_directories(${LIBPULSE_LIBRARY_DIRS})
endif()
if(HAVE_GSTREAMER)
link_directories(
${GSTREAMER_LIBRARY_DIRS}
${GSTREAMER_BASE_LIBRARY_DIRS}
${GSTREAMER_APP_LIBRARY_DIRS}
${GSTREAMER_AUDIO_LIBRARY_DIRS}
${GSTREAMER_TAG_LIBRARY_DIRS}
${GSTREAMER_PBUTILS_LIBRARY_DIRS}
)
2021-08-07 03:02:27 +02:00
endif()
2020-06-17 22:56:20 +02:00
if(HAVE_VLC)
link_directories(${LIBVLC_LIBRARY_DIRS})
endif()
if(HAVE_SONGFINGERPRINTING OR HAVE_MUSICBRAINZ)
2020-06-17 22:56:20 +02:00
link_directories(${CHROMAPRINT_LIBRARY_DIRS})
endif()
2020-06-17 22:56:20 +02:00
if(X11_FOUND)
link_directories(${X11_LIBRARY_DIRS})
2021-08-07 03:02:27 +02:00
endif()
2020-06-17 22:56:20 +02:00
if(XCB_FOUND)
link_directories(${XCB_LIBRARY_DIRS})
2021-08-07 03:02:27 +02:00
endif()
2020-06-17 22:56:20 +02:00
if(HAVE_GIO)
link_directories(${GIO_LIBRARY_DIRS})
2021-08-07 03:02:27 +02:00
endif()
2020-06-17 22:56:20 +02:00
if(HAVE_GIO_UNIX)
link_directories(${GIO_UNIX_LIBRARY_DIRS})
endif()
2020-06-17 22:56:20 +02:00
if(HAVE_AUDIOCD)
link_directories(${LIBCDIO_LIBRARY_DIRS})
2021-08-07 03:02:27 +02:00
endif()
2020-06-17 22:56:20 +02:00
if(HAVE_LIBGPOD)
2021-08-19 20:23:20 +02:00
link_directories(${LIBGPOD_LIBRARY_DIRS} ${GDK_PIXBUF_LIBRARY_DIRS})
2021-08-07 03:02:27 +02:00
endif()
2020-06-17 22:56:20 +02:00
if(HAVE_LIBMTP)
link_directories(${LIBMTP_LIBRARY_DIRS})
2021-08-07 03:02:27 +02:00
endif()
2020-06-17 22:56:20 +02:00
if(USE_TAGLIB AND TAGLIB_FOUND)
link_directories(${TAGLIB_LIBRARY_DIRS})
endif()
if(USE_TAGPARSER AND TAGPARSER_FOUND)
link_directories(${TAGPARSER_LIBRARY_DIRS})
endif()
if(HAVE_QTSPARKLE)
link_directories(${QTSPARKLE_LIBRARY_DIRS})
endif()
2018-02-27 18:06:05 +01:00
add_library(strawberry_lib STATIC
${SOURCES}
${MOC}
${UIC}
${QRC}
${POT}
${PO}
${OTHER_UIC_SOURCES}
)
target_include_directories(strawberry_lib SYSTEM PUBLIC
${Boost_INCLUDE_DIRS}
${GLIB_INCLUDE_DIRS}
${GOBJECT_INCLUDE_DIRS}
${GNUTLS_INCLUDE_DIRS}
${SQLITE_INCLUDE_DIRS}
2022-02-06 08:41:05 +01:00
${PROTOBUF_INCLUDE_DIRS}
)
2021-05-20 17:10:08 +02:00
if(HAVE_QPA_QPLATFORMNATIVEINTERFACE_H)
target_include_directories(strawberry_lib SYSTEM PUBLIC ${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS})
endif()
2020-06-17 22:56:20 +02:00
target_include_directories(strawberry_lib PUBLIC
${CMAKE_SOURCE_DIR}
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/ext/libstrawberry-common
${CMAKE_SOURCE_DIR}/ext/libstrawberry-tagreader
${CMAKE_BINARY_DIR}/ext/libstrawberry-tagreader
${SINGLEAPPLICATION_INCLUDE_DIRS}
${SINGLECOREAPPLICATION_INCLUDE_DIRS}
2020-06-17 22:56:20 +02:00
)
target_link_libraries(strawberry_lib PUBLIC
${CMAKE_THREAD_LIBS_INIT}
2018-02-27 18:06:05 +01:00
${GLIB_LIBRARIES}
${GOBJECT_LIBRARIES}
2019-04-16 17:48:11 +02:00
${GNUTLS_LIBRARIES}
${SQLITE_LIBRARIES}
2020-06-17 22:56:20 +02:00
${QT_LIBRARIES}
${SINGLEAPPLICATION_LIBRARIES}
2019-01-11 01:04:13 +01:00
${SINGLECOREAPPLICATION_LIBRARIES}
${Iconv_LIBRARIES}
2020-06-17 22:56:20 +02:00
libstrawberry-common
libstrawberry-tagreader
2018-02-27 18:06:05 +01:00
)
2018-05-14 17:57:37 +02:00
if(HAVE_ALSA)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${ALSA_INCLUDE_DIRS})
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry_lib PRIVATE ${ALSA_LIBRARIES})
2021-08-07 03:02:27 +02:00
endif()
2018-02-27 18:06:05 +01:00
2020-06-17 22:56:20 +02:00
if(HAVE_LIBPULSE)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${LIBPULSE_INCLUDE_DIRS})
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry_lib PRIVATE ${LIBPULSE_LIBRARIES})
endif()
2020-06-17 22:56:20 +02:00
if(HAVE_GSTREAMER)
target_include_directories(strawberry_lib SYSTEM PRIVATE
2020-06-17 22:56:20 +02:00
${GSTREAMER_INCLUDE_DIRS}
${GSTREAMER_BASE_INCLUDE_DIRS}
${GSTREAMER_APP_INCLUDE_DIRS}
${GSTREAMER_AUDIO_INCLUDE_DIRS}
${GSTREAMER_TAG_INCLUDE_DIRS}
${GSTREAMER_PBUTILS_INCLUDE_DIRS}
)
target_link_libraries(strawberry_lib PRIVATE
${GSTREAMER_LIBRARIES}
${GSTREAMER_BASE_LIBRARIES}
${GSTREAMER_AUDIO_LIBRARIES}
${GSTREAMER_APP_LIBRARIES}
${GSTREAMER_TAG_LIBRARIES}
${GSTREAMER_PBUTILS_LIBRARIES}
)
2021-08-07 03:02:27 +02:00
endif()
2020-06-17 22:56:20 +02:00
if(HAVE_MOODBAR)
target_link_libraries(strawberry_lib PRIVATE gstmoodbar)
endif()
if(HAVE_VLC)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${LIBVLC_INCLUDE_DIRS})
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry_lib PRIVATE ${LIBVLC_LIBRARIES})
endif()
if(HAVE_SONGFINGERPRINTING OR HAVE_MUSICBRAINZ)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${CHROMAPRINT_INCLUDE_DIRS})
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry_lib PRIVATE ${CHROMAPRINT_LIBRARIES})
endif()
2020-06-17 22:56:20 +02:00
if(X11_FOUND)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${X11_INCLUDE_DIR})
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry_lib PRIVATE ${X11_LIBRARIES})
2021-08-07 03:02:27 +02:00
endif()
2020-06-17 22:56:20 +02:00
if(XCB_FOUND)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${XCB_INCLUDE_DIR})
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry_lib PRIVATE ${XCB_LIBRARIES})
2021-08-07 03:02:27 +02:00
endif()
2018-02-27 18:06:05 +01:00
if(HAVE_GIO)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${GIO_INCLUDE_DIRS})
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry_lib PRIVATE ${GIO_LIBRARIES})
2021-08-07 03:02:27 +02:00
endif()
2018-02-27 18:06:05 +01:00
if(HAVE_GIO_UNIX)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${GIO_UNIX_INCLUDE_DIRS})
target_link_libraries(strawberry_lib PRIVATE ${GIO_UNIX_LIBRARIES})
endif()
2018-02-27 18:06:05 +01:00
if(HAVE_AUDIOCD)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${LIBCDIO_INCLUDE_DIRS})
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry_lib PRIVATE ${LIBCDIO_LIBRARIES})
2021-08-07 03:02:27 +02:00
endif()
2018-02-27 18:06:05 +01:00
2020-06-17 22:56:20 +02:00
if(HAVE_LIBGPOD)
2020-09-01 20:27:05 +02:00
target_include_directories(strawberry_lib SYSTEM PRIVATE ${LIBGPOD_INCLUDE_DIRS} ${GDK_PIXBUF_INCLUDE_DIRS})
target_link_libraries(strawberry_lib PRIVATE ${LIBGPOD_LIBRARIES} ${GDK_PIXBUF_LIBRARIES})
2021-08-07 03:02:27 +02:00
endif()
2018-02-27 18:06:05 +01:00
if(HAVE_LIBMTP)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${LIBMTP_INCLUDE_DIRS})
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry_lib PRIVATE ${LIBMTP_LIBRARIES})
2021-08-07 03:02:27 +02:00
endif()
2018-02-27 18:06:05 +01:00
2021-07-30 23:03:14 +02:00
if(FREEBSD)
target_link_libraries(strawberry_lib PRIVATE iconv)
2021-08-07 03:02:27 +02:00
endif()
2019-04-18 15:03:01 +02:00
2020-06-17 22:56:20 +02:00
if(APPLE)
target_link_libraries(strawberry_lib PRIVATE
2018-02-27 18:06:05 +01:00
"-framework AppKit"
"-framework Carbon"
"-framework CoreAudio"
"-framework DiskArbitration"
"-framework Foundation"
"-framework IOKit"
"-framework ScriptingBridge"
)
2021-01-06 14:46:21 +01:00
target_link_libraries(strawberry_lib PRIVATE ${SPMEDIAKEYTAP_LIBRARIES})
2021-08-07 03:02:27 +02:00
endif()
2018-07-03 17:51:52 +02:00
2020-06-17 22:56:20 +02:00
if(WIN32)
target_link_libraries(strawberry_lib PRIVATE dsound dwmapi)
2021-08-24 17:52:08 +02:00
if(MSVC)
target_link_libraries(strawberry_lib PRIVATE sqlite3)
2022-02-06 16:55:11 +01:00
if (GETOPT_INCLUDE_DIRS)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${GETOPT_INCLUDE_DIRS})
endif()
if(GETOPT_LIBRARIES)
target_link_libraries(strawberry_lib PRIVATE ${GETOPT_LIBRARIES})
endif()
endif()
2021-08-07 03:02:27 +02:00
endif()
2018-02-27 18:06:05 +01:00
if(HAVE_QTSPARKLE)
target_include_directories(strawberry_lib SYSTEM PRIVATE ${QTSPARKLE_INCLUDE_DIRS})
target_link_libraries(strawberry_lib PRIVATE ${QTSPARKLE_LIBRARIES})
endif()
2018-02-27 18:06:05 +01:00
###############################################################################
set(EXECUTABLE_OUTPUT_PATH ..)
# Show the console window in debug mode on Windows
2020-06-17 22:56:20 +02:00
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT ENABLE_WIN32_CONSOLE)
2018-02-27 18:06:05 +01:00
set(STRAWBERRY-WIN32-FLAG WIN32)
2021-08-07 03:02:27 +02:00
endif()
2018-02-27 18:06:05 +01:00
2018-04-02 18:35:58 +02:00
# Resource file for windows
2018-02-27 18:06:05 +01:00
if(WIN32)
2018-07-01 22:26:46 +02:00
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../dist/windows/windres.rc.in ${CMAKE_CURRENT_BINARY_DIR}/windres.rc)
2018-02-27 18:06:05 +01:00
set(STRAWBERRY-WIN32-RESOURCES windres.rc)
2021-08-07 03:02:27 +02:00
endif()
2018-02-27 18:06:05 +01:00
add_executable(strawberry
MACOSX_BUNDLE
${STRAWBERRY-WIN32-FLAG}
${STRAWBERRY-WIN32-RESOURCES}
2019-01-01 21:48:50 +01:00
main.cpp
2018-02-27 18:06:05 +01:00
)
2018-05-14 17:57:37 +02:00
if(FREEBSD)
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry PRIVATE execinfo)
2018-05-14 17:57:37 +02:00
endif()
2018-02-27 18:06:05 +01:00
2020-06-17 22:56:20 +02:00
target_link_libraries(strawberry PRIVATE strawberry_lib)
2018-02-27 18:06:05 +01:00
# macdeploy.py relies on the blob being built first.
add_dependencies(strawberry strawberry-tagreader)
2020-06-17 22:56:20 +02:00
if(NOT APPLE)
2018-07-03 17:51:52 +02:00
install(TARGETS strawberry RUNTIME DESTINATION bin)
endif()
2018-02-27 18:06:05 +01:00
if(HAVE_TRANSLATIONS AND INSTALL_TRANSLATIONS AND INSTALL_TRANSLATIONS_FILES)
install(FILES ${INSTALL_TRANSLATIONS_FILES} DESTINATION share/strawberry/translations)
endif()
2020-06-17 22:56:20 +02:00
if(APPLE)
2019-01-04 01:13:03 +01:00
set_target_properties(strawberry PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/../dist/macos/Info.plist")
2021-08-07 03:02:27 +02:00
endif()