-project('nageru', 'cpp', default_options: ['buildtype=debugoptimized'], version: '1.8.0-pre')
+project('nageru', 'cpp', default_options: ['buildtype=debugoptimized'], version: '1.8.1')
cxx = meson.get_compiler('cpp')
qt5 = import('qt5')
bmusbdep = dependency('bmusb', required: not embedded_bmusb)
dldep = cxx.find_library('dl')
epoxydep = dependency('epoxy')
-epoxydep = dependency('epoxy')
libavcodecdep = dependency('libavcodec')
libavformatdep = dependency('libavformat')
-libavresampledep = dependency('libavresample')
+libswresampledep = dependency('libswresample')
libavutildep = dependency('libavutil')
libjpegdep = dependency('libjpeg')
libswscaledep = dependency('libswscale')
movitdep = dependency('movit')
protobufdep = dependency('protobuf')
qcustomplotdep = cxx.find_library('qcustomplot')
-qt5deps = dependency('qt5', modules: ['Core', 'Gui', 'Widgets', 'OpenGLExtensions', 'OpenGL', 'PrintSupport'])
-sdl2_imagedep = dependency('SDL2_image')
-sdl2dep = dependency('sdl2')
+qt5deps = dependency('qt5', modules: ['Core', 'Gui', 'Widgets', 'OpenGLExtensions', 'OpenGL', 'Network'])
+sdl2_imagedep = dependency('SDL2_image', required: false)
+sdl2dep = dependency('sdl2', required: false)
sqlite3dep = dependency('sqlite3')
threaddep = dependency('threads')
vadrmdep = dependency('libva-drm')
endif
# Add the right MOVIT_SHADER_DIR definition.
-r = run_command('pkg-config', '--variable=shaderdir', 'movit')
-if r.returncode() != 0
- error('Movit pkg-config installation is broken.')
-endif
-add_project_arguments('-DMOVIT_SHADER_DIR="' + r.stdout().strip() + '"', language: 'cpp')
+movit_shader_dir = movitdep.get_pkgconfig_variable('shaderdir')
+add_project_arguments('-DMOVIT_SHADER_DIR="' + movit_shader_dir + '"', language: 'cpp')
# Make the Nageru version available as a #define.
add_project_arguments('-DNAGERU_VERSION="' + meson.project_version() + '"', language: 'cpp')
-# DeckLink has these issues, and we include it from various places.
-if cxx.has_argument('-Wno-non-virtual-dtor')
- add_project_arguments('-Wno-non-virtual-dtor', language: 'cpp')
-endif
-
-# FFmpeg has a lot of deprecated APIs whose replacements are not available
-# in Debian stable, so we suppress these warnings.
-if cxx.has_argument('-Wno-deprecated-declarations')
- add_project_arguments('-Wno-deprecated-declarations', language: 'cpp')
-endif
-
# This needs to be done before declaring any build targets.
if get_option('cef_dir') != ''
add_project_arguments('-DHAVE_CEF=1', language: 'cpp')
nageru_srcs = []
nageru_deps = [shareddep, qt5deps, libjpegdep, movitdep, protobufdep,
- vax11dep, vadrmdep, x11dep, libavformatdep, libavresampledep, libavcodecdep, libavutildep,
+ vax11dep, vadrmdep, x11dep, libavformatdep, libswresampledep, libavcodecdep, libavutildep,
libswscaledep, libusbdep, luajitdep, dldep, x264dep, alsadep, zitaresamplerdep,
qcustomplotdep, threaddep]
nageru_include_dirs = [include_directories('nageru')]
# bmusb.
if embedded_bmusb
- bmusb_dir = include_directories('bmusb')
+ bmusb_dir = include_directories('nageru/bmusb')
nageru_include_dirs += bmusb_dir
- bmusb = static_library('bmusb', 'bmusb/bmusb.cpp', 'bmusb/fake_capture.cpp',
+ bmusb = static_library('bmusb', 'nageru/bmusb/bmusb.cpp', 'nageru/bmusb/fake_capture.cpp',
dependencies: [libusbdep],
include_directories: [bmusb_dir])
nageru_link_with += bmusb
nageru_link_with += stream
# DeckLink.
-nageru_srcs += ['nageru/decklink_capture.cpp', 'nageru/decklink_util.cpp', 'nageru/decklink_output.cpp',
- 'nageru/decklink/DeckLinkAPIDispatch.cpp']
-decklink_dir = include_directories('nageru/decklink')
+decklink_dir = include_directories('nageru/decklink', is_system: true)
+decklink_lib = static_library('decklink', 'nageru/decklink/DeckLinkAPIDispatch.cpp', include_directories: decklink_dir, cpp_args: '-w')
+nageru_link_with += decklink_lib
+
+nageru_srcs += ['nageru/decklink_capture.cpp', 'nageru/decklink_util.cpp', 'nageru/decklink_output.cpp']
nageru_include_dirs += decklink_dir
# CEF input.
install: true)
# Test binaries for the optical flow code.
-executable('flow', 'futatabi/flow_main.cpp', 'futatabi/flow.cpp', 'futatabi/gpu_timers.cpp', futatabi_shader_srcs, dependencies: [shareddep, epoxydep, sdl2dep, sdl2_imagedep])
+if sdl2dep.found() and sdl2_imagedep.found()
+ executable('flow', 'futatabi/flow_main.cpp', 'futatabi/flow.cpp', 'futatabi/gpu_timers.cpp', futatabi_shader_srcs, dependencies: [shareddep, epoxydep, sdl2dep, sdl2_imagedep])
+endif
executable('eval', 'futatabi/eval.cpp', 'futatabi/util.cpp')
executable('vis', 'futatabi/vis.cpp', 'futatabi/util.cpp')