subdir('androidmedia') subdir('applemedia') subdir('bluez') subdir('d3dvideosink') subdir('decklink') subdir('directsound') #subdir('dshowdecwrapper') #subdir('dshowsrcwrapper') #subdir('dshowvideosink') subdir('dvb') subdir('fbdev') subdir('ipcpipeline') subdir('kms') subdir('msdk') subdir('opensles') subdir('shm') subdir('tinyalsa') subdir('uvch264') subdir('vdpau') subdir('wasapi') subdir('winks') subdir('winscreencap') # CUDA dependency cuda_dep = dependency('', required : false) cudart_dep = dependency('', required : false) cuda_libdir = '' cuda_incdir = '' cuda_versions = [ '10.1', '10.0', '9.2', '9.1', '9.0', '8.0', '7.5', '7.0', '6.5', ] cuda_ver = '' # FIXME: use break syntax when we use meson >= '0.49' foreach v : cuda_versions if cuda_ver == '' cuda_dep = dependency('cuda-' + v, required: false) cudart_dep = dependency('cudart-' + v, required: false) if cuda_dep.found() and cudart_dep.found() cuda_ver = v endif endif endforeach if cuda_dep.found() cuda_header_found = cc.has_header('cuda.h', dependencies: cuda_dep) cuda_lib_found = cc.has_function('cuInit', dependencies: cuda_dep) if not cuda_header_found or not cuda_lib_found message ('Missing required header and/or function in cuda dependency') cuda_dep = dependency('', required : false) endif endif if cudart_dep.found() cudart_header_found = cc.has_header('cuda_runtime_api.h', dependencies: cudart_dep) cudart_lib_found = cc.has_function('cudaGetErrorString', dependencies: cudart_dep) if not cudart_header_found or not cudart_lib_found message ('Missing required header and/or function in cudart dependency') cudart_dep = dependency('', required : false) endif endif if not cuda_dep.found() or not cudart_dep.found() cuda_root = run_command(python3, '-c', 'import os; print(os.environ.get("CUDA_PATH"))').stdout().strip() if cuda_root != '' and cuda_root != 'None' if host_machine.system() == 'windows' arc = '' if build_machine.cpu_family() == 'x86_64' arc = 'x64' else arc = 'Win32' endif cuda_libdir = join_paths (cuda_root, 'lib', arc) else cuda_libdir = [join_paths (cuda_root, 'lib'), join_paths (cuda_root, 'lib', 'stubs'), join_paths (cuda_root, 'lib64'), join_paths (cuda_root, 'lib64', 'stubs')] endif cuda_incdir = join_paths (cuda_root, 'include') cuda_lib = cc.find_library('cuda', dirs: cuda_libdir, required: false) cudart_lib = cc.find_library('cudart', dirs: cuda_libdir, required: false) if cuda_lib.found() cuda_header_found = cc.has_header('cuda.h', args: '-I' + cuda_incdir) cuda_lib_found = cc.has_function('cuInit', dependencies: cuda_lib) if cuda_header_found and cuda_lib_found cuda_dep = declare_dependency(include_directories: include_directories(cuda_incdir), dependencies: cuda_lib) endif endif if cudart_lib.found() cudart_header_found = cc.has_header('cuda_runtime_api.h', args: '-I' + cuda_incdir) cudart_lib_found = cc.has_function('cudaGetErrorString', dependencies: cudart_lib) if cudart_header_found and cudart_lib_found cudart_dep = declare_dependency(dependencies: cudart_lib) endif endif endif endif if cuda_dep.found() and cudart_dep.found() subdir('nvdec') subdir('nvenc') elif get_option('nvdec').enabled() error('The nvdec plugin was enabled explicitly, but required CUDA dependencies were not found.') elif get_option('nvenc').enabled() error('The nvenc plugin was enabled explicitly, but required CUDA dependencies were not found.') endif