gstreamer/ges/meson.build
Thibault Saunier 5e448921d8 ges: Move TimeOverlayClip out of GESTestClip
This was complexifying the implementation for very little gain.
Each source type should ideally have its own API.

In that patch we make it so we do not have to subclass anything
but instead use GESAsset to pass information about how the pipeline
should look like.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/175>
2020-05-19 13:27:13 +00:00

216 lines
5.8 KiB
Meson

ges_sources = files([
'ges.c',
'ges-enums.c',
'ges-meta-container.c',
'ges-timeline.c',
'ges-layer.c',
'ges-clip.c',
'ges-pipeline.c',
'ges-source-clip.c',
'ges-source-clip-asset.c',
'ges-base-effect-clip.c',
'ges-effect-clip.c',
'ges-uri-clip.c',
'ges-operation-clip.c',
'ges-base-transition-clip.c',
'ges-transition-clip.c',
'ges-time-overlay-clip.c',
'ges-test-clip.c',
'ges-title-clip.c',
'ges-overlay-clip.c',
'ges-text-overlay-clip.c',
'ges-track.c',
'ges-audio-track.c',
'ges-video-track.c',
'ges-track-element.c',
'ges-source.c',
'ges-operation.c',
'ges-video-source.c',
'ges-audio-source.c',
'ges-video-uri-source.c',
'ges-audio-uri-source.c',
'ges-image-source.c',
'ges-multi-file-source.c',
'ges-transition.c',
'ges-audio-transition.c',
'ges-video-transition.c',
'ges-video-test-source.c',
'ges-audio-test-source.c',
'ges-title-source.c',
'ges-text-overlay.c',
'ges-base-effect.c',
'ges-effect.c',
'ges-screenshot.c',
'ges-formatter.c',
'ges-asset.c',
'ges-uri-asset.c',
'ges-clip-asset.c',
'ges-track-element-asset.c',
'ges-extractable.c',
'ges-project.c',
'ges-base-xml-formatter.c',
'ges-xml-formatter.c',
'ges-command-line-formatter.c',
'ges-auto-transition.c',
'ges-timeline-element.c',
'ges-timeline-tree.c',
'ges-container.c',
'ges-effect-asset.c',
'ges-smart-adder.c',
'ges-smart-video-mixer.c',
'ges-utils.c',
'ges-group.c',
'ges-validate.c',
'ges-structured-interface.c',
'ges-structure-parser.c',
'ges-marker-list.c',
'gstframepositioner.c'
])
ges_headers = files([
'ges-types.h',
'ges.h',
'ges-prelude.h',
'ges-enums.h',
'ges-gerror.h',
'ges-meta-container.h',
'ges-timeline.h',
'ges-layer.h',
'ges-clip.h',
'ges-pipeline.h',
'ges-source-clip.h',
'ges-source-clip-asset.h',
'ges-uri-clip.h',
'ges-base-effect-clip.h',
'ges-effect-clip.h',
'ges-operation-clip.h',
'ges-base-transition-clip.h',
'ges-transition-clip.h',
'ges-test-clip.h',
'ges-time-overlay-clip.h',
'ges-title-clip.h',
'ges-overlay-clip.h',
'ges-text-overlay-clip.h',
'ges-base-effect.h',
'ges-effect.h',
'ges-track.h',
'ges-audio-track.h',
'ges-video-track.h',
'ges-track-element.h',
'ges-track-element-deprecated.h',
'ges-source.h',
'ges-operation.h',
'ges-video-source.h',
'ges-audio-source.h',
'ges-video-uri-source.h',
'ges-audio-uri-source.h',
'ges-image-source.h',
'ges-multi-file-source.h',
'ges-transition.h',
'ges-audio-transition.h',
'ges-video-transition.h',
'ges-video-test-source.h',
'ges-audio-test-source.h',
'ges-title-source.h',
'ges-text-overlay.h',
'ges-screenshot.h',
'ges-formatter.h',
'ges-asset.h',
'ges-uri-asset.h',
'ges-clip-asset.h',
'ges-track-element-asset.h',
'ges-extractable.h',
'ges-project.h',
'ges-base-xml-formatter.h',
'ges-xml-formatter.h',
'ges-command-line-formatter.h',
'ges-timeline-element.h',
'ges-container.h',
'ges-effect-asset.h',
'ges-utils.h',
'ges-group.h',
'ges-marker-list.h'
])
if libxml_dep.found()
ges_sources += files(['ges-pitivi-formatter.c'])
ges_headers += files(['ges-pitivi-formatter.h'])
endif
version_data = configuration_data()
version_data.set('GES_VERSION_MAJOR', gst_version_major)
version_data.set('GES_VERSION_MINOR', gst_version_minor)
version_data.set('GES_VERSION_MICRO', gst_version_micro)
version_data.set('GES_VERSION_NANO', gst_version_nano)
configure_file(input : 'ges-version.h.in',
output : 'ges-version.h',
install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/ges'),
configuration : version_data)
install_headers(ges_headers, subdir : 'gstreamer-1.0/ges')
flex = find_program('flex', required : false)
if not flex.found()
flex = find_program('win_flex', required : false)
if not flex.found()
error('flex not found')
endif
endif
parser = custom_target('gesparselex',
input : 'parse.l',
output : ['lex.priv_ges_parse_yy.c', 'ges-parse-lex.h'],
command : [flex, '-Ppriv_ges_parse_yy', '--header-file=@OUTPUT1@', '-o', '@OUTPUT0@', '@INPUT@']
)
ges_resources = []
if has_python
ges_resources = gnome.compile_resources(
'ges-resources', 'ges.resource',
source_dir: '.',
c_name: 'ges'
)
endif
libges = library('ges-1.0', ges_sources, parser, ges_resources,
version : libversion,
soversion : soversion,
darwin_versions : osxversion,
c_args : [ges_c_args] + ['-DBUILDING_GES'],
include_directories : [configinc],
install : true,
dependencies : libges_deps)
ges_gen_sources = []
if build_gir
ges_gir_extra_args = gir_init_section + [ '--c-include=ges/ges.h' ]
if meson.is_subproject()
# FIXME: There must be a better way to do this
# Need to pass the include path to find gst/gst.h and gst/gstenumtypes.h (built)
ges_gir_extra_args += ['--cflags-begin',
'-I' + meson.current_source_dir() + '/..',
'-I' + meson.current_build_dir() + '/..',
'--cflags-end']
endif
ges_gir = gnome.generate_gir(libges,
sources : ges_sources + ges_headers,
namespace : 'GES',
nsversion : apiversion,
identifier_prefix : 'GES',
symbol_prefix : 'ges',
export_packages : 'gst-editing-services-1.0',
includes : ['Gst-1.0', 'GstPbutils-1.0', 'GstVideo-1.0', 'Gio-2.0', 'GObject-2.0'],
install : true,
dependencies : libges_deps,
extra_args : ges_gir_extra_args
)
ges_gen_sources += [ges_gir]
endif
ges_dep = declare_dependency(link_with : libges,
include_directories : [configinc],
sources : ges_gen_sources,
dependencies : libges_deps,
)