2018-10-16 19:01:13 +02:00
|
|
|
gtest_compile_args = [
|
|
|
|
'-Wno-undef',
|
|
|
|
]
|
|
|
|
|
|
|
|
if compiler.get_id() == 'gcc'
|
|
|
|
gtest_compile_args += [
|
|
|
|
'-Wno-suggest-attribute=format',
|
|
|
|
'-Wno-suggest-attribute=noreturn',
|
|
|
|
'-Wno-missing-declarations',
|
|
|
|
|
|
|
|
# needed on Jessie for gtest's IsNullLiteralHelper
|
|
|
|
'-Wno-conversion-null',
|
|
|
|
]
|
|
|
|
endif
|
|
|
|
|
|
|
|
gtest_dep = declare_dependency(
|
|
|
|
dependencies: [dependency('gtest', main: true)],
|
|
|
|
compile_args: gtest_compile_args,
|
|
|
|
)
|
2017-12-29 17:12:55 +01:00
|
|
|
|
|
|
|
executable(
|
|
|
|
'ParseSongFilter',
|
|
|
|
'ParseSongFilter.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
song_dep,
|
|
|
|
pcm_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'read_conf',
|
|
|
|
'read_conf.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
config_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2018-10-16 19:01:13 +02:00
|
|
|
test('TestUtil', executable(
|
|
|
|
'TestUtil',
|
|
|
|
'TestCircularBuffer.cxx',
|
|
|
|
'TestDivideString.cxx',
|
|
|
|
'TestMimeType.cxx',
|
|
|
|
'TestSplitString.cxx',
|
|
|
|
'TestUriUtil.cxx',
|
2017-12-29 17:12:55 +01:00
|
|
|
'test_byte_reverse.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
util_dep,
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
|
2018-10-16 19:01:13 +02:00
|
|
|
test('TestRewindInputStream', executable(
|
|
|
|
'TestRewindInputStream',
|
|
|
|
'TestRewindInputStream.cxx',
|
2017-12-29 17:12:55 +01:00
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
input_glue_dep,
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
|
|
|
|
test('test_mixramp', executable(
|
|
|
|
'test_mixramp',
|
|
|
|
'test_mixramp.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
util_dep,
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
|
|
|
|
test('test_protocol', executable(
|
|
|
|
'test_protocol',
|
|
|
|
'test_protocol.cxx',
|
|
|
|
'../src/protocol/ArgParser.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
|
|
|
|
test('test_queue_priority', executable(
|
|
|
|
'test_queue_priority',
|
|
|
|
'test_queue_priority.cxx',
|
|
|
|
'../src/queue/Queue.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
util_dep,
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
|
|
|
|
test('TestFs', executable(
|
|
|
|
'TestFs',
|
|
|
|
'TestFs.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
fs_dep,
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
|
|
|
|
test('TestIcu', executable(
|
|
|
|
'TestIcu',
|
|
|
|
'TestIcu.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
util_dep,
|
|
|
|
icu_dep,
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
|
|
|
|
if libavahi_client_dep.found()
|
|
|
|
executable(
|
|
|
|
'run_avahi',
|
|
|
|
'run_avahi.cxx',
|
|
|
|
'ShutdownHandler.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
zeroconf_dep,
|
|
|
|
util_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
endif
|
|
|
|
|
|
|
|
if enable_inotify
|
|
|
|
executable(
|
|
|
|
'run_inotify',
|
|
|
|
'run_inotify.cxx',
|
|
|
|
'ShutdownHandler.cxx',
|
|
|
|
'../src/db/update/InotifyDomain.cxx',
|
|
|
|
'../src/db/update/InotifySource.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
event_dep,
|
|
|
|
util_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
endif
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'run_resolver',
|
|
|
|
'run_resolver.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
net_dep,
|
|
|
|
util_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
#
|
|
|
|
# I/O
|
|
|
|
#
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'WriteFile',
|
|
|
|
'WriteFile.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
fs_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'dump_text_file',
|
|
|
|
'dump_text_file.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
input_glue_dep,
|
|
|
|
archive_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
if zlib_dep.found()
|
|
|
|
executable(
|
|
|
|
'run_gzip',
|
|
|
|
'run_gzip.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
fs_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'run_gunzip',
|
|
|
|
'run_gunzip.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
fs_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Neighbor
|
|
|
|
#
|
|
|
|
|
|
|
|
if neighbor_glue_dep.found()
|
|
|
|
executable(
|
|
|
|
'run_neighbor_explorer',
|
|
|
|
'run_neighbor_explorer.cxx',
|
|
|
|
'ShutdownHandler.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
neighbor_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Database
|
|
|
|
#
|
|
|
|
|
|
|
|
if enable_database
|
|
|
|
executable(
|
|
|
|
'run_storage',
|
|
|
|
'run_storage.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
2018-11-15 18:01:35 +01:00
|
|
|
event_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
storage_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'DumpDatabase',
|
|
|
|
'DumpDatabase.cxx',
|
|
|
|
'../src/protocol/Ack.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
'../src/db/Registry.cxx',
|
|
|
|
'../src/db/Selection.cxx',
|
|
|
|
'../src/db/PlaylistVector.cxx',
|
|
|
|
'../src/db/DatabaseLock.cxx',
|
|
|
|
'../src/AudioFormat.cxx',
|
|
|
|
'../src/AudioParser.cxx',
|
|
|
|
'../src/pcm/SampleFormat.cxx',
|
|
|
|
'../src/SongSave.cxx',
|
|
|
|
'../src/TagSave.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
song_dep,
|
|
|
|
fs_dep,
|
|
|
|
event_dep,
|
|
|
|
db_plugins_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
test('test_translate_song', executable(
|
|
|
|
'test_translate_song',
|
|
|
|
'test_translate_song.cxx',
|
|
|
|
'../src/playlist/PlaylistSong.cxx',
|
|
|
|
'../src/SongLoader.cxx',
|
|
|
|
'../src/LocateUri.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
tag_dep,
|
|
|
|
storage_glue_dep,
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Input
|
|
|
|
#
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'run_input',
|
|
|
|
'run_input.cxx',
|
|
|
|
'../src/TagSave.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
input_glue_dep,
|
|
|
|
archive_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
if curl_dep.found()
|
|
|
|
test('test_icy_parser', executable(
|
|
|
|
'test_icy_parser',
|
|
|
|
'test_icy_parser.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
tag_dep,
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Archive
|
|
|
|
#
|
|
|
|
|
|
|
|
if archive_glue_dep.found()
|
|
|
|
test('test_archive', executable(
|
|
|
|
'test_archive',
|
|
|
|
'test_archive.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
archive_glue_dep,
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'visit_archive',
|
|
|
|
'visit_archive.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
archive_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
if libiso9660_dep.found()
|
|
|
|
if find_program('mkisofs', required: false).found()
|
|
|
|
test('test_archive_iso9660', find_program('test_archive_iso9660.sh'))
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
if libbz2_dep.found()
|
|
|
|
if find_program('bzip2', required: false).found()
|
|
|
|
test('test_archive_bzip2', find_program('test_archive_bzip2.sh'))
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
if libzzip_dep.found()
|
|
|
|
if find_program('zip', required: false).found()
|
|
|
|
test('test_archive_zzip', find_program('test_archive_zzip.sh'))
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Playlist
|
|
|
|
#
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'dump_playlist',
|
|
|
|
'dump_playlist.cxx',
|
|
|
|
'../src/TagSave.cxx',
|
|
|
|
'../src/TagFile.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
playlist_glue_dep,
|
|
|
|
input_glue_dep,
|
|
|
|
archive_glue_dep,
|
|
|
|
decoder_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
2018-08-10 18:06:50 +02:00
|
|
|
#
|
|
|
|
# Tag
|
|
|
|
#
|
|
|
|
|
|
|
|
if chromaprint_dep.found()
|
|
|
|
executable(
|
|
|
|
'RunChromaprint',
|
|
|
|
'RunChromaprint.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
decoder_glue_dep,
|
|
|
|
input_glue_dep,
|
|
|
|
archive_glue_dep,
|
|
|
|
chromaprint_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
endif
|
|
|
|
|
2017-12-29 17:12:55 +01:00
|
|
|
#
|
|
|
|
# Decoder
|
|
|
|
#
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'run_decoder',
|
|
|
|
'run_decoder.cxx',
|
|
|
|
'DumpDecoderClient.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
decoder_glue_dep,
|
|
|
|
input_glue_dep,
|
|
|
|
archive_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'read_tags',
|
|
|
|
'read_tags.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
decoder_glue_dep,
|
|
|
|
input_glue_dep,
|
|
|
|
archive_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'ContainerScan',
|
|
|
|
'ContainerScan.cxx',
|
|
|
|
'../src/SongSave.cxx',
|
|
|
|
'../src/TagSave.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
decoder_glue_dep,
|
|
|
|
input_glue_dep,
|
|
|
|
archive_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'ReadApeTags',
|
|
|
|
'ReadApeTags.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
tag_dep,
|
|
|
|
input_glue_dep,
|
|
|
|
archive_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
if libid3tag_dep.found()
|
|
|
|
executable(
|
|
|
|
'dump_rva2',
|
|
|
|
'dump_rva2.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
tag_dep,
|
|
|
|
input_glue_dep,
|
|
|
|
archive_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Filter
|
|
|
|
#
|
|
|
|
|
|
|
|
test('test_pcm', executable(
|
|
|
|
'test_pcm',
|
|
|
|
'TestAudioFormat.cxx',
|
|
|
|
'test_pcm_dither.cxx',
|
|
|
|
'test_pcm_pack.cxx',
|
|
|
|
'test_pcm_channels.cxx',
|
|
|
|
'test_pcm_format.cxx',
|
|
|
|
'test_pcm_volume.cxx',
|
|
|
|
'test_pcm_mix.cxx',
|
|
|
|
'test_pcm_interleave.cxx',
|
|
|
|
'test_pcm_export.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
pcm_dep,
|
2018-10-16 19:01:13 +02:00
|
|
|
gtest_dep,
|
2017-12-29 17:12:55 +01:00
|
|
|
],
|
|
|
|
))
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'run_filter',
|
|
|
|
'run_filter.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
filter_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'software_volume',
|
|
|
|
'software_volume.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
pcm_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'run_normalize',
|
|
|
|
'run_normalize.cxx',
|
|
|
|
'../src/AudioCompress/compress.c',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
pcm_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'run_convert',
|
|
|
|
'run_convert.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
pcm_dep,
|
|
|
|
config_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
#
|
|
|
|
# Encoder
|
|
|
|
#
|
|
|
|
|
|
|
|
if encoder_glue_dep.found()
|
|
|
|
executable(
|
|
|
|
'run_encoder',
|
|
|
|
'run_encoder.cxx',
|
|
|
|
'../src/AudioParser.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
encoder_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'test_vorbis_encoder',
|
|
|
|
'test_vorbis_encoder.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
encoder_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# Output
|
|
|
|
#
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'run_output',
|
|
|
|
'run_output.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
output_glue_dep,
|
|
|
|
encoder_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
|
|
|
|
#
|
|
|
|
# Mixer
|
|
|
|
#
|
|
|
|
|
|
|
|
if alsa_dep.found()
|
|
|
|
# this debug program is still ALSA specific
|
|
|
|
|
|
|
|
executable(
|
|
|
|
'read_mixer',
|
|
|
|
'read_mixer.cxx',
|
|
|
|
'../src/Log.cxx',
|
|
|
|
'../src/LogBackend.cxx',
|
|
|
|
include_directories: inc,
|
|
|
|
dependencies: [
|
|
|
|
mixer_glue_dep,
|
|
|
|
],
|
|
|
|
)
|
|
|
|
endif
|