2022-03-25 19:00:20 +00:00
|
|
|
tool_deps = [pbutils_dep, audio_dep, video_dep, tag_dep, gst_dep, gst_base_dep, gmodule_dep]
|
2016-08-12 15:26:31 +00:00
|
|
|
|
2022-01-19 18:17:58 +00:00
|
|
|
extra_args = []
|
|
|
|
extra_deps = []
|
|
|
|
|
|
|
|
if host_system == 'windows'
|
|
|
|
# Check whether we're building for UWP apps, and if so, will not link winmm
|
|
|
|
# of which APIs are for WIN32 desktop
|
|
|
|
building_for_uwp = false
|
|
|
|
code = '''
|
|
|
|
#include <windows.h>
|
|
|
|
#if !(WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP))
|
|
|
|
#error "Not building for UWP"
|
|
|
|
#endif'''
|
|
|
|
if cc.compiles(code, name : 'building for UWP')
|
|
|
|
building_for_uwp = true
|
|
|
|
endif
|
|
|
|
|
|
|
|
if not building_for_uwp
|
|
|
|
winmm_lib = cc.find_library('winmm', required: false)
|
2022-04-11 16:01:23 +00:00
|
|
|
if winmm_lib.found() and cc.has_header('mmsystem.h')
|
2022-01-19 18:17:58 +00:00
|
|
|
extra_args += ['-DHAVE_WINMM']
|
|
|
|
extra_deps += [winmm_lib]
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2024-09-10 19:25:42 +00:00
|
|
|
gst_tools = {
|
|
|
|
'gst-device-monitor': {
|
|
|
|
'files': files('gst-device-monitor.c'),
|
|
|
|
'deps': tool_deps,
|
|
|
|
'man_page': files('gst-device-monitor-@0@.1'.format(api_version))
|
|
|
|
},
|
|
|
|
'gst-discoverer': {
|
|
|
|
'files': files('gst-discoverer.c'),
|
|
|
|
'deps': tool_deps,
|
|
|
|
'man_page': files('gst-discoverer-@0@.1'.format(api_version))
|
|
|
|
},
|
|
|
|
'gst-play': {
|
|
|
|
'files': files('gst-play.c', 'gst-play-kb.c'),
|
|
|
|
'deps': tool_deps + libm + extra_deps,
|
|
|
|
'man_page': files('gst-play-@0@.1'.format(api_version)),
|
|
|
|
'extra_c_args': extra_args
|
|
|
|
},
|
|
|
|
}
|
2016-08-12 15:26:31 +00:00
|
|
|
|
2023-03-07 13:05:54 +00:00
|
|
|
if not get_option('tools').disabled() and not static_build
|
2021-09-11 15:17:56 +00:00
|
|
|
foreach tool, data: gst_tools
|
|
|
|
exe_name = '@0@-@1@'.format(tool, api_version)
|
|
|
|
executable(exe_name,
|
|
|
|
data.get('files'),
|
2023-03-14 10:49:57 +00:00
|
|
|
install: data.get('install', true),
|
2022-09-12 13:46:43 +00:00
|
|
|
install_tag: 'bin',
|
2023-03-14 10:49:57 +00:00
|
|
|
include_directories : data.get('include_directories', [configinc]),
|
2021-09-11 15:17:56 +00:00
|
|
|
dependencies : data.get('deps'),
|
|
|
|
c_args: data.get('extra_c_args', []) + gst_plugins_base_args + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)],
|
|
|
|
)
|
2016-08-12 15:26:31 +00:00
|
|
|
|
2021-09-11 15:17:56 +00:00
|
|
|
if data.has_key('man_page')
|
|
|
|
install_man(data.get('man_page'))
|
|
|
|
endif
|
|
|
|
endforeach
|
|
|
|
|
|
|
|
endif
|