22cd3bea7bd06f0ba583952033ec77a6f81229b3
[platform/upstream/gstreamer.git] / subprojects / gstreamer / libs / gst / check / meson.build
1 gst_check_sources = files(
2   'gstbufferstraw.c',
3   'gstcheck.c',
4   'gstconsistencychecker.c',
5   'gstharness.c',
6   'gsttestclock.c',
7 )
8 gst_check_headers = files(
9   'check.h',
10   'check-prelude.h',
11   'gstbufferstraw.h',
12   'gstcheck.h',
13   'gstconsistencychecker.h',
14   'gstharness.h',
15   'gsttestclock.h',
16 )
17 install_headers(gst_check_headers, subdir : 'gstreamer-1.0/gst/check/')
18
19
20 check_cdata = configuration_data()
21
22 check_cdata.set('ENABLE_SUBUNIT', 0)
23 check_cdata.set('CHECK_MAJOR_VERSION', 0)
24 check_cdata.set('CHECK_MINOR_VERSION', 9)
25 check_cdata.set('CHECK_MICRO_VERSION', 14)
26 if host_system != 'windows'
27   check_cdata.set('HAVE_FORK', 1)
28 else
29   check_cdata.set('HAVE_FORK', 0)
30 endif
31
32 subdir('libcheck')
33
34 configure_file(input : 'libcheck/check.h.in',
35   output : 'internal-check.h',
36   install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/check'),
37   configuration : check_cdata)
38
39 gst_check = library('gstcheck-@0@'.format(apiversion),
40   gst_check_sources,
41   c_args : gst_c_args + ['-UG_DISABLE_ASSERT', '-DBUILDING_GST_CHECK', '-DG_LOG_DOMAIN="GStreamer-Check"'],
42   version : libversion,
43   soversion : soversion,
44   darwin_versions : osxversion,
45   install : true,
46   include_directories : [configinc, libsinc],
47   link_with : [libcheck],
48   dependencies : [gobject_dep, glib_dep, gst_dep],
49 )
50
51 library_def = {'lib': gst_check}
52 pkg_name = 'gstreamer-check-1.0'
53 pkgconfig.generate(gst_check,
54   libraries : [libgst],
55   # FIXME: Add manually libcheck's dependencies because it's an uninstalled static
56   # library and Meson <0.56.0 does not handle them correctly.
57   # See https://github.com/mesonbuild/meson/pull/7488.
58   libraries_private: [rt_lib, mathlib],
59   variables : pkgconfig_variables,
60   subdirs : pkgconfig_subdirs,
61   name : pkg_name,
62   description : 'Unit testing helper library for GStreamer modules',
63 )
64
65 gst_check_gen_sources = []
66 if build_gir
67   gst_gir_extra_args = gir_init_section + [ '--c-include=gst/check/check.h' ]
68   gir = {
69     'sources' : gst_check_sources + gst_check_headers,
70     'namespace' : 'GstCheck',
71     'nsversion' : apiversion,
72     'identifier_prefix' : 'Gst',
73     'symbol_prefix' : 'gst',
74     'export_packages' : pkg_name,
75     'dependencies' : [gst_dep],
76     'include_directories' : [configinc, libsinc, privinc],
77     'includes' : ['GLib-2.0', 'GObject-2.0', 'GModule-2.0', 'Gst-1.0'],
78     'install' : true,
79     'extra_args' : gst_gir_extra_args,
80   }
81   library_def += {'gir': [gir]}
82   if not static_build
83     gst_check_gir = gnome.generate_gir(gst_check, kwargs: gir)
84     gst_check_gen_sources += gst_check_gir
85   endif
86 endif
87 libraries += [[pkg_name, library_def]]
88
89 gst_check_dep = declare_dependency(link_with : gst_check,
90   include_directories : [libsinc],
91   dependencies : [gst_dep],
92   sources : gst_check_gen_sources)
93
94 meson.override_dependency(pkg_name, gst_check_dep)