gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/cuda/meson.build
Seungha Yang 205a23f456 nvcodec: Stop building for non-{Windows,Linux} target
The other platforms, specifically macOS have not been supported already
because this plugin loads so or dll. Moreover, NVIDIA dropped
support for macOS as of CUDA 11.0. See also
https://developer.nvidia.com/nvidia-cuda-toolkit-11_0_0-developer-tools-mac-hosts

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2283>
2022-04-25 15:50:52 +00:00

107 lines
3 KiB
Meson

cuda_sources = [
'gstcudaloader.c',
'gstcudacontext.c',
'gstcudautils.c',
'gstcudamemory.c',
'gstcudabufferpool.c',
'gstcudanvrtc.c',
'gstnvrtcloader.c',
]
cuda_headers = [
'cuda-prelude.h',
'cuda-gst.h',
'gstcudabufferpool.h',
'gstcudacontext.h',
'gstcudaloader.h',
'gstcudamemory.h',
'gstcudanvrtc.h',
'gstcudautils.h',
'gstnvrtcloader.h',
]
gstcuda_dep = dependency('', required : false)
if host_system not in ['windows', 'linux']
subdir_done()
endif
cuda_stubinc = include_directories('./stub')
extra_c_args = ['-DGST_USE_UNSTABLE_API']
if gstgl_dep.found()
extra_c_args += ['-DHAVE_NVCODEC_GST_GL=1']
endif
if gstd3d11_dep.found()
extra_c_args += ['-DGST_CUDA_HAS_D3D=1', '-DCOBJMACROS']
endif
pkg_name = 'gstreamer-cuda-' + api_version
gstcuda= library('gstcuda-' + api_version,
cuda_sources,
c_args : gst_plugins_bad_args + extra_c_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_CUDA', '-DG_LOG_DOMAIN="GStreamer-Cuda"'],
cpp_args : gst_plugins_bad_args,
include_directories : [configinc, libsinc, cuda_stubinc],
version : libversion,
soversion : soversion,
install : true,
dependencies : [gstbase_dep, gmodule_dep, gstvideo_dep, gstglproto_dep, gstd3d11_dep]
)
gen_sources = []
library_def = {'lib': gstcuda}
if build_gir
gir_includes = ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', 'CudaGst-1.0']
if gstglproto_dep.found()
gir_includes += ['GstGL-1.0']
endif
cuda_gir = {
'sources' : files('stub/cuda.h', 'stub/cudaGL.h'),
'namespace' : 'CudaGst',
'nsversion' : api_version,
'identifier_prefix' : 'CU',
'symbol_prefix' : 'cu',
'export_packages' : pkg_name,
'includes' : [],
'install' : true,
'extra_args' : [],
'dependencies' : [],
}
gir = {
'sources' : cuda_sources + cuda_headers,
'namespace' : 'GstCuda',
'nsversion' : api_version,
'identifier_prefix' : 'Gst',
'symbol_prefix' : 'gst',
'export_packages' : pkg_name,
'includes' : gir_includes,
'install' : true,
'extra_args' : gir_init_section + ['-DGST_USE_UNSTABLE_API'],
'dependencies' : [gstbase_dep, gstvideo_dep, gstglproto_dep],
}
if not static_build
cudagst_gir = gnome.generate_gir(gstcuda, kwargs: cuda_gir)
gir += {'includes': gir['includes'] + [cudagst_gir[0]]}
gst_cuda_gir = gnome.generate_gir(gstcuda, kwargs: gir)
gen_sources += gst_cuda_gir
endif
library_def += {'gir': [gir, cuda_gir]}
endif
libraries += [[pkg_name, library_def]]
pkgconfig.generate(gstcuda,
libraries : [gstbase_dep, gmodule_dep, gstvideo_dep, gstglproto_dep],
variables : pkgconfig_variables,
subdirs : pkgconfig_subdirs,
name : pkg_name,
description : 'Unstable library to work with CUDA inside GStreamer',
)
install_headers(cuda_headers, subdir : 'gstreamer-1.0/gst/cuda')
gstcuda_dep = declare_dependency(link_with : gstcuda,
include_directories : [libsinc],
dependencies : [gstbase_dep, gmodule_dep, gstvideo_dep, gstglproto_dep],
sources: gen_sources)