1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-14 12:59:41 +01:00
tomahawk/src/libtomahawk/CMakeLists.txt
2018-10-30 19:36:14 +01:00

615 lines
21 KiB
CMake

project( tomahawklib )
add_definitions( ${QT_DEFINITIONS} )
add_definitions( -DQT_SHARED )
add_definitions( -DDLLEXPORT_PRO )
add_definitions( -DQT_SHAREDPOINTER_TRACK_POINTERS )
add_definitions( -DPORTFWDDLLEXPORT_STATIC )
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../tomahawk/Config.h.in
${CMAKE_CURRENT_BINARY_DIR}/config.h)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../tomahawk/TomahawkVersion.h.in
${CMAKE_CURRENT_BINARY_DIR}/TomahawkVersion.h)
set( libGuiSources
ActionCollection.cpp
ContextMenu.cpp
DownloadManager.cpp
DownloadJob.cpp
DropJob.cpp
GlobalActionManager.cpp
ViewPage.cpp
ViewPageLazyLoader.cpp
ViewPagePlugin.cpp
ViewManager.cpp
LatchManager.cpp
jobview/JobStatusView.cpp
jobview/JobStatusModel.cpp
jobview/JobStatusDelegate.cpp
jobview/JobStatusItem.cpp
jobview/AclJobItem.cpp
jobview/PipelineStatusItem.cpp
jobview/ScannerStatusItem.cpp
jobview/TransferStatusItem.cpp
jobview/LatchedStatusItem.cpp
jobview/ErrorStatusMessage.cpp
jobview/IndexingJobItem.cpp
jobview/InboxJobItem.cpp
jobview/ScriptErrorStatusMessage.cpp
playlist/InboxModel.cpp
playlist/InboxView.cpp
playlist/ContextView.cpp
playlist/TreeModel.cpp
playlist/TreeProxyModel.cpp
playlist/TreeProxyModelPlaylistInterface.cpp
playlist/ColumnItemDelegate.cpp
playlist/ColumnViewPreviewWidget.cpp
playlist/PlaylistModel.cpp
playlist/PlaylistItemDelegate.cpp
playlist/QueueProxyModel.cpp
playlist/QueueView.cpp
playlist/PlayableModel.cpp
playlist/PlayableProxyModel.cpp
playlist/PlayableProxyModelPlaylistInterface.cpp
playlist/TrackView.cpp
playlist/AlbumModel.cpp
playlist/GridItemDelegate.cpp
playlist/GridView.cpp
playlist/ColumnView.cpp
playlist/ViewHeader.cpp
playlist/LovedTracksModel.cpp
playlist/RecentlyLovedTracksModel.cpp
playlist/TopLovedTracksModel.cpp
playlist/RecentlyAddedModel.cpp
playlist/RecentlyPlayedModel.cpp
playlist/TrackItemDelegate.cpp
playlist/PlayableItem.cpp
playlist/SingleTrackPlaylistInterface.cpp
playlist/RevisionQueueItem.cpp
playlist/TrackDetailView.cpp
playlist/dynamic/DynamicPlaylist.cpp
playlist/dynamic/DynamicView.cpp
playlist/dynamic/DynamicModel.cpp
playlist/dynamic/widgets/DynamicWidget.cpp
playlist/dynamic/widgets/DynamicControlWrapper.cpp
playlist/dynamic/widgets/DynamicControlList.cpp
playlist/dynamic/widgets/ReadOrWriteWidget.cpp
playlist/dynamic/widgets/MiscControlWidgets.cpp
playlist/dynamic/widgets/CollapsibleControls.cpp
playlist/dynamic/widgets/DynamicSetupWidget.cpp
resolvers/ExternalResolverGui.cpp
resolvers/ScriptResolver.cpp
resolvers/JSResolver.cpp
resolvers/JSResolverHelper.cpp
resolvers/ScriptEngine.cpp
resolvers/JSAccount.cpp
resolvers/ScriptJob.cpp
resolvers/SyncScriptJob.cpp
resolvers/ScriptObject.cpp
resolvers/ScriptLinkGeneratorPlugin.cpp
resolvers/ScriptAccount.cpp
resolvers/ScriptPlugin.cpp
utils/DpiScaler.cpp
utils/ImageRegistry.cpp
utils/WidgetDragFilter.cpp
utils/XspfGenerator.cpp
utils/JspfLoader.cpp
utils/SpotifyParser.cpp
utils/M3uLoader.cpp
utils/ItunesParser.cpp
utils/ItunesLoader.cpp
utils/ShortenedLinkParser.cpp
utils/TomahawkStyle.cpp
utils/DropJobNotifier.cpp
utils/ProxyStyle.cpp
utils/TomahawkUtilsGui.cpp
utils/Closure.cpp
utils/PixmapDelegateFader.cpp
utils/SmartPointerList.h
utils/AnimatedSpinner.cpp
utils/BinaryInstallerHelper.cpp
utils/BinaryExtractWorker.cpp
utils/SharedTimeLine.cpp
utils/ResultUrlChecker.cpp
utils/NetworkReply.cpp
utils/NetworkProxyFactory.cpp
utils/NetworkAccessManager.cpp
utils/ShortLinkHelper.cpp
utils/LinkGenerator.cpp
utils/LinkGeneratorPlugin.cpp
utils/TomaHkLinkGeneratorPlugin.cpp
viewpages/SearchViewPage.cpp
viewpages/SourceViewPage.cpp
viewpages/ArtistViewPage.cpp
viewpages/AlbumViewPage.cpp
viewpages/TrackViewPage.cpp
viewpages/PlaylistViewPage.cpp
viewpages/CollectionViewPage.cpp
widgets/AnimatedSplitter.cpp
widgets/BasicHeader.cpp
widgets/HoverControls.cpp
widgets/BackgroundWidget.cpp
widgets/Breadcrumb.cpp
widgets/BreadcrumbButton.cpp
widgets/ChartDataLoader.cpp
widgets/ClickableLabel.cpp
widgets/ComboBox.cpp
widgets/DropDownButton.cpp
widgets/DownloadButton.cpp
widgets/ElidedLabel.cpp
widgets/FilterHeader.cpp
widgets/CaptionLabel.cpp
widgets/HeaderLabel.cpp
widgets/HistoryWidget.cpp
widgets/ImageButton.cpp
widgets/OverlayButton.cpp
widgets/OverlayWidget.cpp
widgets/PlayableCover.cpp
widgets/PlaylistsModel.cpp
widgets/QueryLabel.cpp
widgets/RecentPlaylistsModel.cpp
widgets/RecentlyPlayedPlaylistsModel.cpp
widgets/ScriptCollectionHeader.cpp
widgets/ScrollingLabel.cpp
widgets/SeekSlider.cpp
widgets/SourceTreePopupDialog.cpp
widgets/ToggleButton.cpp
widgets/searchlineedit/ClearButton.cpp
widgets/searchlineedit/LineEdit.cpp
widgets/searchlineedit/SearchButton.cpp
widgets/searchlineedit/SearchLineEdit.cpp
)
if(QCA2_FOUND)
set( libGuiSources ${libGuiSources} utils/GroovesharkParser.cpp )
endif()
if(UNIX AND NOT APPLE AND NOT Qt5Core_DIR)
if(BUILD_GUI AND X11_FOUND)
include_directories( ${THIRDPARTY_DIR}/libqnetwm )
list(APPEND libSources ${libSources} ${THIRDPARTY_DIR}/libqnetwm/libqnetwm/netwm.cpp)
list(APPEND LINK_LIBRARIES ${X11_LIBRARIES})
endif()
endif()
list(APPEND libSources
TomahawkSettings.cpp
SourceList.cpp
Pipeline.cpp
Artist.cpp
ArtistPlaylistInterface.cpp
Album.cpp
AlbumPlaylistInterface.cpp
CountryUtils.cpp
FuncTimeout.cpp
Playlist.cpp
PlaylistEntry.cpp
PlaylistPlaylistInterface.cpp
MetaPlaylistInterface.cpp
Query.cpp
Result.cpp
Source.cpp
Track.cpp
TrackData.cpp
SourcePlaylistInterface.cpp
PlaylistInterface.cpp
UrlHandler.cpp
accounts/AccountManager.cpp
accounts/Account.cpp
accounts/AccountModel.cpp
accounts/AccountModelFilterProxy.cpp
accounts/CredentialsManager.cpp
accounts/ResolverAccount.cpp
accounts/AccountDelegate.cpp
accounts/DelegateConfigWrapper.cpp
accounts/AccountFactoryWrapper.cpp
accounts/AccountFactoryWrapperDelegate.cpp
accounts/AccountConfigWidget.cpp
accounts/ConfigStorage.cpp
accounts/LocalConfigStorage.cpp
accounts/spotify/SpotifyAccount.cpp
accounts/spotify/SpotifyAccountConfig.cpp
# accounts/spotify/SpotifyPlaylistUpdater.cpp
accounts/spotify/SpotifyInfoPlugin.cpp
audio/AudioEngine.cpp
audio/AudioOutput.cpp
audio/MediaStream.cpp
audio/Qnr_IoDeviceStream.cpp
collection/Collection.cpp
collection/ArtistsRequest.cpp
collection/AlbumsRequest.cpp
collection/TracksRequest.cpp
database/Database.cpp
database/fuzzyindex/FuzzyIndex.cpp
database/fuzzyindex/DatabaseFuzzyIndex.cpp
database/DatabaseCollection.cpp
database/LocalCollection.cpp
database/DatabaseWorker.cpp
database/DatabaseImpl.cpp
database/DatabaseResolver.cpp
database/DatabaseCommand.cpp
database/DatabaseCommand_AddClientAuth.cpp
database/DatabaseCommand_AddFiles.cpp
database/DatabaseCommand_AddSource.cpp
database/DatabaseCommand_AllAlbums.cpp
database/DatabaseCommand_AllArtists.cpp
database/DatabaseCommand_AllTracks.cpp
database/DatabaseCommand_ArtistStats.cpp
database/DatabaseCommand_CalculatePlaytime.cpp
database/DatabaseCommand_ClientAuthValid.cpp
database/DatabaseCommand_CollectionAttributes.cpp
database/DatabaseCommand_CollectionStats.cpp
database/DatabaseCommand_CreateDynamicPlaylist.cpp
database/DatabaseCommand_CreatePlaylist.cpp
database/DatabaseCommand_DeleteDynamicPlaylist.cpp
database/DatabaseCommand_DeleteFiles.cpp
database/DatabaseCommand_DeleteInboxEntry.cpp
database/DatabaseCommand_DeletePlaylist.cpp
database/DatabaseCommand_DirMtimes.cpp
database/DatabaseCommand_FileMTimes.cpp
database/DatabaseCommand_GenericSelect.cpp
database/DatabaseCommand_LoadAllAutoPlaylists.cpp
database/DatabaseCommand_LoadAllPlaylists.cpp
database/DatabaseCommand_LoadAllSortedPlaylists.cpp
database/DatabaseCommand_LoadAllSources.cpp
database/DatabaseCommand_LoadAllStations.cpp
database/DatabaseCommand_LoadDynamicPlaylist.cpp
database/DatabaseCommand_LoadDynamicPlaylistEntries.cpp
database/DatabaseCommand_LoadFiles.cpp
database/DatabaseCommand_LoadInboxEntries.cpp
database/DatabaseCommand_LoadOps.cpp
database/DatabaseCommand_LoadPlaylistEntries.cpp
database/DatabaseCommand_LoadSocialActions.cpp
database/DatabaseCommand_LoadTrackAttributes.cpp
database/DatabaseCommand_LogPlayback.cpp
database/DatabaseCommand_ModifyInboxEntry.cpp
database/DatabaseCommand_ModifyPlaylist.cpp
database/DatabaseCommand_NetworkCharts.cpp
database/DatabaseCommand_PlaybackCharts.cpp
database/DatabaseCommand_PlaybackHistory.cpp
database/DatabaseCommand_RenamePlaylist.cpp
database/DatabaseCommand_Resolve.cpp
database/DatabaseCommand_SetCollectionAttributes.cpp
database/DatabaseCommand_SetDynamicPlaylistRevision.cpp
database/DatabaseCommand_SetPlaylistRevision.cpp
database/DatabaseCommand_SetTrackAttributes.cpp
database/DatabaseCommand_ShareTrack.cpp
database/DatabaseCommand_SocialAction.cpp
database/DatabaseCommand_SourceOffline.cpp
database/DatabaseCommand_TrackAttributes.cpp
database/DatabaseCommand_TrackStats.cpp
database/DatabaseCommand_TrendingArtists.cpp
database/DatabaseCommand_TrendingTracks.cpp
database/DatabaseCommand_UpdateSearchIndex.cpp
database/DatabaseCommandLoggable.cpp
database/IdThreadWorker.cpp
database/TomahawkSqlQuery.cpp
infosystem/InfoSystem.cpp
infosystem/InfoSystemCache.cpp
infosystem/InfoSystemWorker.cpp
filemetadata/MusicScanner.cpp
filemetadata/ScanManager.cpp
filemetadata/taghandlers/tag.cpp
filemetadata/taghandlers/apetag.cpp
filemetadata/taghandlers/asftag.cpp
filemetadata/taghandlers/id3v1tag.cpp
filemetadata/taghandlers/id3v2tag.cpp
filemetadata/taghandlers/mp4tag.cpp
filemetadata/taghandlers/oggtag.cpp
filemetadata/MetadataEditor.cpp
network/acl/AclRegistry.cpp
network/acl/AclRequest.cpp
network/BufferIoDevice.cpp
network/Msg.cpp
network/MsgProcessor.cpp
network/StreamConnection.cpp
network/DbSyncConnection.cpp
network/RemoteCollection.cpp
network/PortFwdThread.cpp
network/Servent.cpp
network/Connection.cpp
network/ControlConnection.cpp
network/QTcpSocketExtra.cpp
network/ConnectionManager.cpp
playlist/PlaylistUpdaterInterface.cpp
playlist/PlaylistTemplate.cpp
playlist/XspfPlaylistTemplate.cpp
playlist/dynamic/DynamicPlaylist.cpp
playlist/dynamic/GeneratorFactory.cpp
playlist/dynamic/GeneratorInterface.cpp
playlist/dynamic/DynamicPlaylistRevision.cpp
playlist/XspfUpdater.cpp
playlist/dynamic/database/DatabaseGenerator.cpp
playlist/dynamic/database/DatabaseControl.cpp
playlist/dynamic/DynamicControl.cpp
resolvers/ExternalResolver.cpp
resolvers/Resolver.cpp
resolvers/ScriptCommand_AllArtists.cpp
resolvers/ScriptCommand_AllAlbums.cpp
resolvers/ScriptCommand_AllTracks.cpp
resolvers/ScriptCommand_LookupUrl.cpp
resolvers/ScriptCommandQueue.cpp
resolvers/ScriptPluginFactory.cpp
# ScriptPlugins
resolvers/ScriptCollection.cpp
resolvers/plugins/ScriptCollectionFactory.cpp
resolvers/ScriptInfoPlugin.cpp
resolvers/plugins/ScriptInfoPluginFactory.cpp
sip/SipPlugin.cpp
sip/SipInfo.cpp
sip/PeerInfo.cpp
sip/SipStatusMessage.cpp
utils/Cloudstream.cpp
utils/Json.cpp
utils/TomahawkUtils.cpp
utils/Logger.cpp
utils/XspfLoader.cpp
utils/TomahawkCache.cpp
utils/GuiHelpers.cpp
utils/WeakObjectHash.cpp
utils/WeakObjectList.cpp
utils/WebPopup.cpp
utils/PluginLoader.cpp
)
add_subdirectory( accounts/configstorage )
IF(LIBLASTFM_FOUND)
include_directories( ${LIBLASTFM_INCLUDE_DIRS} )
list(APPEND LINK_LIBRARIES ${LIBLASTFM_LIBRARIES} )
list(APPEND libSources
accounts/lastfm/LastFmAccount.cpp
accounts/lastfm/LastFmConfig.cpp
accounts/lastfm/LastFmInfoPlugin.cpp
)
ENDIF(LIBLASTFM_FOUND)
set( libUI ${libUI}
widgets/HeaderWidget.ui
viewpages/SearchViewPage.ui
viewpages/SourceViewPage.ui
viewpages/ArtistViewPage.ui
viewpages/AlbumViewPage.ui
viewpages/TrackViewPage.ui
playlist/QueueView.ui
filemetadata/MetadataEditor.ui
accounts/AccountFactoryWrapper.ui
accounts/spotify/SpotifyAccountConfig.ui
accounts/lastfm/LastFmConfig.ui
)
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${QT_INCLUDE_DIR}
${QJSON_INCLUDE_DIR}
${LUCENEPP_INCLUDE_DIRS}
${LIBVLC_INCLUDE_DIR}
${Boost_INCLUDE_DIR}
${LIBPORTFWD_INCLUDE_DIR}
${QUAZIP_INCLUDE_DIRS}
${QTKEYCHAIN_INCLUDE_DIRS}
)
IF(LIBATTICA_FOUND)
SET( libGuiSources ${libGuiSources} AtticaManager.cpp )
INCLUDE_DIRECTORIES( ${LIBATTICA_INCLUDE_DIR} )
LIST(APPEND PRIVATE_LINK_LIBRARIES ${LIBATTICA_LIBRARIES} ${LibAttica_LIBRARIES} ${QUAZIP_LIBRARIES})
LIST(APPEND LINK_LIBRARIES KF5::Attica)
ENDIF(LIBATTICA_FOUND)
if(HAVE_X11)
list(APPEND LINK_LIBRARIES Qt5::X11Extras)
endif()
IF( WIN32 )
SET( OS_SPECIFIC_LINK_LIBRARIES
${OS_SPECIFIC_LINK_LIBRARIES}
# System
"iphlpapi.a"
"ws2_32.dll"
"dnsapi.dll"
"dsound.dll"
"winmm.dll"
"advapi32.dll"
"shlwapi.dll"
)
ENDIF( WIN32 )
IF( APPLE )
FIND_LIBRARY( COREAUDIO_LIBRARY CoreAudio )
FIND_LIBRARY( COREFOUNDATION_LIBRARY CoreFoundation )
FIND_LIBRARY( FOUNDATION_LIBRARY Foundation )
FIND_LIBRARY( SCRIPTINGBRIDGE_LIBRARY ScriptingBridge )
MARK_AS_ADVANCED( COREAUDIO_LIBRARY COREFOUNDATION_LIBRARY FOUNDATION_LIBRARY SCRIPTINGBRIDGE_LIBRARY )
SET( CMAKE_SHARED_LINKER_FLAGS "-headerpad_max_install_names ${CMAKE_SHARED_LINKER_FLAGS}" )
SET( libSources ${libSources}
utils/TomahawkUtils_Mac.mm
mac/FileHelpers.mm
widgets/SourceTreePopupDialog_mac.mm )
list(APPEND libSources
thirdparty/Qocoa/qbutton_mac.mm
thirdparty/Qocoa/qsearchfield_mac.mm
thirdparty/Qocoa/qtoolbartabdialog.cpp
)
SET_SOURCE_FILES_PROPERTIES(utils/TomahawkUtils_Mac.mm PROPERTIES COMPILE_FLAGS "-fvisibility=default")
SET( OS_SPECIFIC_LINK_LIBRARIES
${OS_SPECIFIC_LINK_LIBRARIES}
# System
${COREAUDIO_LIBRARY}
${COREFOUNDATION_LIBRARY}
${FOUNDATION_LIBRARY}
${SCRIPTINGBRIDGE_LIBRARY}
/System/Library/Frameworks/AppKit.framework
/System/Library/Frameworks/Security.framework
)
ELSE( APPLE )
SET( libGuiSources ${libGuiSources} thirdparty/Qocoa/qbutton.cpp thirdparty/Qocoa/qsearchfield.cpp thirdparty/Qocoa/qtoolbartabdialog.cpp )
ENDIF( APPLE )
IF(BUILD_GUI)
LIST(APPEND libSources ${libGuiSources} )
ENDIF()
qt_wrap_ui(libUI_H ${libUI})
SET( libSources ${libSources} ${libUI_H} )
add_library( ${TOMAHAWK_LIBRARY} SHARED ${libSources})
set_target_properties(
${TOMAHAWK_LIBRARY}
PROPERTIES
AUTOMOC TRUE
VERSION ${TOMAHAWK_VERSION_SHORT}
SOVERSION ${TOMAHAWK_VERSION_SHORT}
OUTPUT_NAME ${TOMAHAWK_BASE_TARGET_NAME}
)
target_link_libraries(${TOMAHAWK_LIBRARY}
Qt5::Widgets Qt5::Network Qt5::Sql Qt5::WebKitWidgets Qt5::Concurrent Qt5::Xml Qt5::UiTools Qt5::Svg
)
if(APPLE)
target_link_libraries(${TOMAHAWK_LIBRARY} Qt5::MacExtras)
endif()
if( UNIX AND NOT APPLE )
target_link_libraries(${TOMAHAWK_LIBRARY} Qt5::DBus)
endif()
IF(QCA2_FOUND)
INCLUDE_DIRECTORIES( ${QCA2_INCLUDE_DIR} )
LIST(APPEND LINK_LIBRARIES ${QCA2_LIBRARIES} )
ENDIF(QCA2_FOUND)
IF( UNIX AND NOT APPLE )
LIST(APPEND LINK_LIBRARIES ${QT_QTDBUS_LIBRARIES} )
ENDIF( UNIX AND NOT APPLE )
TARGET_LINK_LIBRARIES( ${TOMAHAWK_LIBRARY}
LINK_PRIVATE
${LIBVLC_LIBRARY}
# Thirdparty shipped with tomahawk
${LIBPORTFWD_LIBRARIES}
${QTKEYCHAIN_LIBRARIES}
${PRIVATE_LINK_LIBRARIES}
LINK_PUBLIC
# External deps
${QJSON_LIBRARIES}
${LUCENEPP_LIBRARIES}
${QT_QTSQL_LIBRARY}
${QT_QTUITOOLS_LIBRARY}
${QT_QTGUI_LIBRARY}
${QT_QTWEBKIT_LIBRARY}
${QT_QTSCRIPT_LIBRARY}
${QT_QTNETWORK_LIBRARY}
${QT_QTXML_LIBRARY}
${QT_QTSVG_LIBRARY}
${QT_QTCORE_LIBRARY}
${OS_SPECIFIC_LINK_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
${LINK_LIBRARIES}
)
# TagLib
TARGET_LINK_LIBRARIES(${TOMAHAWK_LIBRARY} LINK_PUBLIC ${TAGLIB_LIBRARIES})
TARGET_INCLUDE_DIRECTORIES(${TOMAHAWK_LIBRARY} PUBLIC ${TAGLIB_INCLUDES})
INSTALL( TARGETS ${TOMAHAWK_LIBRARY}
EXPORT TomahawkLibraryDepends
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
# Install header files
file( GLOB rootHeaders "*.h" )
file( GLOB accountsHeaders "accounts/*.h" )
file( GLOB accountsLastfmHeaders "accounts/lastfm/*.h" )
file( GLOB accountsSpotifyHeaders "accounts/spotify/*.h" )
file( GLOB audioHeaders "audio/*.h" )
file( GLOB collectionHeaders "collection/*.h" )
file( GLOB contextHeaders "context/*.h" )
file( GLOB contextPagesHeaders "context/pages/*.h" )
file( GLOB databaseHeaders "database/*.h" )
file( GLOB filemetadataHeaders "filemetadata/*.h" )
file( GLOB filemetadataTaghandlersHeaders "filemetadata/taghandlers/*.h" )
file( GLOB infosystemHeaders "infosystem/*.h" )
file( GLOB jobviewHeaders "jobview/*.h" )
file( GLOB networkHeaders "network/*.h" )
file( GLOB playlistHeaders "playlist/*.h" )
file( GLOB playlistDynamicHeaders "playlist/dynamic/*.h" )
file( GLOB playlistDynamicDatabaseHeaders "playlist/dynamic/database/*.h" )
# file( GLOB playlistDynamicEchonestHeaders "playlist/dynamic/echonest/*.h" )
file( GLOB playlistDynamicWidgetsHeaders "playlist/dynamic/widgets/*.h" )
file( GLOB resolversHeaders "resolvers/*.h" )
file( GLOB sipHeaders "sip/*.h" )
file( GLOB thirdpartyKdsingleapplicationguardHeaders "thirdparty/kdsingleapplicationguard/*.h" )
file( GLOB thirdpartyQocoaHeaders "thirdparty/Qocoa/*.h" )
file( GLOB utilsHeaders "utils/*.h" )
file( GLOB widgetsHeaders "widgets/*.h" )
file( GLOB viewpagesHeaders "viewpages/*.h" )
file( GLOB widgetsSearchlineeditHeaders "widgets/searchlineedit/*.h" )
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h DESTINATION include/libtomahawk )
install( FILES ${rootHeaders} DESTINATION include/libtomahawk )
install( FILES ${accountsHeaders} DESTINATION include/libtomahawk/accounts )
install( FILES ${accountsLastfmHeaders} DESTINATION include/libtomahawk/accounts/lastfm )
install( FILES ${accountsSpotifyHeaders} DESTINATION include/libtomahawk/accounts/spotify )
install( FILES ${audioHeaders} DESTINATION include/libtomahawk/audio )
install( FILES ${collectionHeaders} DESTINATION include/libtomahawk/collection )
install( FILES ${contextHeaders} DESTINATION include/libtomahawk/context )
install( FILES ${contextPagesHeaders} DESTINATION include/libtomahawk/context/pages )
install( FILES ${databaseHeaders} DESTINATION include/libtomahawk/database )
install( FILES ${filemetadataHeaders} DESTINATION include/libtomahawk/filemetadata )
install( FILES ${filemetadataTaghandlersHeaders} DESTINATION include/libtomahawk/filemetadata/taghandlers )
install( FILES ${infosystemHeaders} DESTINATION include/libtomahawk/infosystem )
install( FILES ${jobviewHeaders} DESTINATION include/libtomahawk/jobview )
install( FILES ${networkHeaders} DESTINATION include/libtomahawk/network )
install( FILES ${playlistHeaders} DESTINATION include/libtomahawk/playlist )
install( FILES ${playlistDynamicHeaders} DESTINATION include/libtomahawk/playlist/dynamic )
install( FILES ${playlistDynamicDatabaseHeaders} DESTINATION include/libtomahawk/playlist/dynamic/database )
# install( FILES ${playlistDynamicEchonestHeaders} DESTINATION include/libtomahawk/playlist/dynamic/echonest )
install( FILES ${playlistDynamicWidgetsHeaders} DESTINATION include/libtomahawk/playlist/dynamic/widgets )
install( FILES ${resolversHeaders} DESTINATION include/libtomahawk/resolvers )
install( FILES ${sipHeaders} DESTINATION include/libtomahawk/sip )
install( FILES ${thirdpartyKdsingleapplicationguardHeaders} DESTINATION include/libtomahawk/thirdparty/kdsingleapplicationguard )
install( FILES ${thirdpartyQocoaHeaders} DESTINATION include/libtomahawk/thirdparty/Qocoa )
install( FILES ${utilsHeaders} DESTINATION include/libtomahawk/utils )
install( FILES ${widgetsHeaders} DESTINATION include/libtomahawk/widgets )
install( FILES ${viewpagesHeaders} DESTINATION include/libtomahawk/viewpages )
install( FILES ${widgetsSearchlineeditHeaders} DESTINATION include/libtomahawk/widgets/searchlineedit )