mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-09 05:38:58 +00:00
Trying to follow recommendation from Meson documentation: https://mesonbuild.com/Installing.html#installation-tags Move tools into 'bin' or 'bin-devel' categories to keep only libs and plugins in the default 'runtime' category. This simplifies distribution of GStreamer application skipping parts that are not needed, similarly to what Cerbero does by hardcoding huge list of files. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
64 lines
1.9 KiB
Meson
64 lines
1.9 KiB
Meson
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 + extra_deps,
|
|
'man_page': files('gst-play-@0@.1'.format(api_version)),
|
|
'extra_c_args': extra_args
|
|
},
|
|
}
|
|
|
|
if not get_option('tools').disabled()
|
|
foreach tool, data: gst_tools
|
|
exe_name = '@0@-@1@'.format(tool, api_version)
|
|
executable(exe_name,
|
|
data.get('files'),
|
|
install: true,
|
|
install_tag: 'bin',
|
|
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
|