tools: Add support for building gstreamer tools against gst-full
[platform/upstream/gstreamer.git] / subprojects / gst-devtools / validate / tools / meson.build
1 gst_tools = {
2   'gst-validate': {
3     'files': files('gst-validate.c'),
4     'deps': [validate_dep, gio_dep],
5   },
6   'gst-validate-media-check': {
7     'files': files('gst-validate-media-check.c'),
8     'deps': [validate_dep, gio_dep],
9   },
10 }
11
12 if validate_video_dep.found()
13   gst_tools +=  {
14     'gst-validate-images-check': {
15       'files': files('gst-validate-images-check.c'),
16       'deps': [validate_dep, validate_video_dep, gio_dep],
17     },
18   }
19 else
20     message('Can not build gst-validate-images-check' + apiversion)
21 endif
22
23 rtsp_server_dep = dependency('gstreamer-rtsp-server-' + apiversion,
24   fallback: ['gst-rtsp-server', 'gst_rtsp_server_dep'],
25   version : gst_req,
26   required: false)
27
28 if rtsp_server_dep.found()
29     gst_tools += {'gst-validate-rtsp-server': {
30         'files': files('gst-validate-rtsp-server.c'),
31         'deps': [validate_dep, rtsp_server_dep, gio_dep],
32       }
33     }
34 else
35     message('Can not build gst-validate-rtsp-server-' + apiversion)
36 endif
37
38 gst_transcoder_dep = dependency('gstreamer-transcoder-' + apiversion, version : gst_req,
39     fallback : ['gst-plugins-bad', 'gst_transcoder_dep'], required: false)
40 if gst_transcoder_dep.found()
41     gst_tools += {'gst-validate-transcoding': {
42         'files': files('gst-validate-transcoding.c'),
43         'deps': [validate_dep, gst_transcoder_dep, gio_dep],
44       }
45     }
46 else
47   message('Can not build gst-validate-transcoding-' + apiversion)
48 endif
49
50 if not get_option('tools').disabled()
51
52   foreach tool, data: gst_tools
53     if data.has_key('config_data')
54     else
55       exe_name = '@0@-@1@'.format(tool, apiversion)
56       executable(
57         exe_name,
58         data.get('files'),
59         install: true,
60         include_directories : inc_dirs,
61         dependencies : data.get('deps'),
62         c_args : [gst_c_args] + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)],
63       )
64     endif
65   endforeach
66 endif
67
68 tmpconf = configuration_data()
69 tmpconf.set('LIBDIR', join_paths(get_option('prefix'), get_option('libdir')))
70 tmpconf.set('BUILDDIR', meson.current_build_dir())
71 tmpconf.set('SRCDIR', meson.current_source_dir())
72
73 configure_file(input : 'gst-validate-launcher.in',
74                install_dir: get_option('bindir'),
75                output : 'gst-validate-launcher',
76                configuration : tmpconf)
77
78 launcher = find_program(meson.current_build_dir() + '/gst-validate-launcher')