
add_library(lmssubsonic STATIC
	impl/endpoints/transcoding/AudioFileInfo.cpp
	impl/endpoints/transcoding/TranscodeDecision.cpp
	impl/endpoints/transcoding/TranscodeDecisionTracker.cpp
	impl/endpoints/AlbumSongLists.cpp
	impl/endpoints/Bookmarks.cpp
	impl/endpoints/Browsing.cpp
	impl/endpoints/Jukebox.cpp
	impl/endpoints/MediaAnnotation.cpp
	impl/endpoints/MediaLibraryScanning.cpp
	impl/endpoints/MediaRetrieval.cpp
	impl/endpoints/Playlists.cpp
	impl/endpoints/Podcast.cpp
	impl/endpoints/Searching.cpp
	impl/endpoints/System.cpp
	impl/endpoints/Transcoding.cpp
	impl/endpoints/UserManagement.cpp
	impl/payloads/ClientInfo.cpp
	impl/payloads/StreamDetails.cpp
	impl/responses/Album.cpp
	impl/responses/AlbumInfo.cpp
	impl/responses/Artist.cpp
	impl/responses/Bookmark.cpp
	impl/responses/Contributor.cpp
	impl/responses/DiscTitle.cpp
	impl/responses/ItemDate.cpp
	impl/responses/ItemGenre.cpp
	impl/responses/Genre.cpp
	impl/responses/Lyrics.cpp
	impl/responses/Playlist.cpp
	impl/responses/Podcast.cpp
	impl/responses/RecordLabel.cpp
	impl/responses/ReplayGain.cpp
	impl/responses/Song.cpp
	impl/responses/User.cpp
	impl/CoverArtId.cpp
	impl/RequestContext.cpp
	impl/ResponseFormat.cpp
	impl/ProtocolVersion.cpp
	impl/ParameterParsing.cpp
	impl/SubsonicId.cpp
	impl/SubsonicResource.cpp
	impl/SubsonicResourceConfig.cpp
	impl/SubsonicResponse.cpp
	)

target_include_directories(lmssubsonic INTERFACE
	include
	)

target_include_directories(lmssubsonic PRIVATE
	impl
	include
	)

target_link_libraries(lmssubsonic PRIVATE
	std::filesystem
	lmsartwork
	lmsaudio
	lmsauth
	lmscore
	lmsdatabase
	lmsfeedback
	lmsjukebox
	lmspodcast
	lmsrecommendation
	lmsscanner
	lmsscrobbling
	lmstranscoding
	)

target_link_libraries(lmssubsonic PUBLIC
	Wt::Wt
	)

if(BUILD_TESTING)
	add_subdirectory(test)
endif()

if (BUILD_BENCHMARKS)
       add_subdirectory(bench)
endif()