2021-02-23 16:56:53 +00:00
|
|
|
if get_option('onnx').disabled()
|
|
|
|
subdir_done()
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
onnxrt_dep = dependency('libonnxruntime',required : get_option('onnx'))
|
|
|
|
|
|
|
|
if onnxrt_dep.found()
|
2021-10-17 23:40:14 +00:00
|
|
|
onnxrt_include_root = onnxrt_dep.get_variable('includedir')
|
2021-02-23 16:56:53 +00:00
|
|
|
onnxrt_includes = [onnxrt_include_root / 'core/session', onnxrt_include_root / 'core']
|
|
|
|
onnxrt_dep_args = []
|
|
|
|
|
|
|
|
compiler = meson.get_compiler('cpp')
|
|
|
|
if compiler.has_header(onnxrt_include_root / 'core/providers/cuda/cuda_provider_factory.h')
|
|
|
|
onnxrt_dep_args = ['-DGST_ML_ONNX_RUNTIME_HAVE_CUDA']
|
|
|
|
endif
|
|
|
|
gstonnx = library('gstonnx',
|
|
|
|
'gstonnx.c',
|
|
|
|
'gstonnxelement.c',
|
|
|
|
'gstonnxobjectdetector.cpp',
|
|
|
|
'gstonnxclient.cpp',
|
|
|
|
c_args : gst_plugins_bad_args,
|
|
|
|
cpp_args: onnxrt_dep_args,
|
|
|
|
link_args : noseh_link_args,
|
|
|
|
include_directories : [configinc, libsinc, onnxrt_includes],
|
|
|
|
dependencies : [gstbase_dep, gstvideo_dep, onnxrt_dep, libm],
|
|
|
|
install : true,
|
|
|
|
install_dir : plugins_install_dir,
|
|
|
|
)
|
|
|
|
plugins += [gstonnx]
|
|
|
|
endif
|