gstreamer/subprojects/gst-plugins-bad/ext/nvcomp/meson.build

71 lines
2 KiB
Meson
Raw Normal View History

nvcomp_sources = [
'gstnvcomp.cpp',
'gstnvcompvideodec.cpp',
'gstnvcompvideoenc.cpp',
'plugin.cpp',
]
extra_args = ['-DGST_USE_UNSTABLE_API']
nvcomp_opt = get_option('nvcomp')
if nvcomp_opt.disabled() or host_system not in ['windows', 'linux']
subdir_done()
endif
nvcomp_sdk_path = get_option('nvcomp-sdk-path')
if nvcomp_sdk_path == ''
nvcomp_sdk_path = run_command(python3, '-c', 'import os; print(os.environ.get("NVCOMP_SDK_PATH"))', check: false).stdout().strip()
endif
if nvcomp_sdk_path == '' or nvcomp_sdk_path == 'None'
if nvcomp_opt.enabled()
error('nvcomp-sdk-path option must be specified for nvCOMP plugin')
endif
subdir_done()
endif
if not gstcuda_dep.found()
if nvcomp_opt.enabled()
error('nvCOMP plugin was enabled explicitly, but required gstcuda was not found')
endif
subdir_done()
endif
nvcomp_inc_dirs = [include_directories(join_paths(nvcomp_sdk_path, 'include'), './stub'),
cuda_stubinc]
nvcomp_lib_path = join_paths(nvcomp_sdk_path, 'lib')
nvcomp_lib = cc.find_library('nvcomp',
dirs: nvcomp_lib_path, required: nvcomp_opt)
if not nvcomp_lib.found()
subdir_done()
endif
nvcomp_bitcomp_lib = cc.find_library('nvcomp_bitcomp',
dirs: nvcomp_lib_path, required: nvcomp_opt)
if not nvcomp_bitcomp_lib.found()
subdir_done()
endif
nvcomp_gdeflate_lib = cc.find_library('nvcomp_gdeflate',
dirs: nvcomp_lib_path, required: nvcomp_opt)
if not nvcomp_gdeflate_lib.found()
subdir_done()
endif
if gstgl_dep.found()
extra_args += ['-DHAVE_GST_GL']
endif
gstnvcomp = library('gstnvcomp',
nvcomp_sources,
c_args : gst_plugins_bad_args + extra_args,
cpp_args : gst_plugins_bad_args + extra_args,
include_directories : [configinc] + nvcomp_inc_dirs,
dependencies : [gstbase_dep, gstvideo_dep, gstcuda_dep, gstgl_dep, nvcomp_lib,
nvcomp_bitcomp_lib, nvcomp_gdeflate_lib],
override_options : ['cpp_std=c++17'],
install : true,
install_dir : plugins_install_dir,
)
plugins += [gstnvcomp]