| tool_deps = [pbutils_dep, audio_dep, video_dep, tag_dep, gst_dep, gst_base_dep, gmodule_dep] | |
| 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) | |
| if winmm_lib.found() and cc.has_header('mmsystem.h') | |
| extra_args += ['-DHAVE_WINMM'] | |
| extra_deps += [winmm_lib] | |
| endif | |
| endif | |
| endif | |
| 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 | |
| }, | |
| } | |
| if not get_option('tools').disabled() and not static_build | |
| foreach tool, data: gst_tools | |
| exe_name = '@0@-@1@'.format(tool, api_version) | |
| executable(exe_name, | |
| data.get('files'), | |
| install: data.get('install', true), | |
| install_tag: 'bin', | |
| include_directories : data.get('include_directories', [configinc]), | |
| dependencies : data.get('deps'), | |
| c_args: data.get('extra_c_args', []) + gst_plugins_base_args + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)], | |
| ) | |
| if data.has_key('man_page') | |
| install_man(data.get('man_page')) | |
| endif | |
| endforeach | |
| endif |