]> git.sesse.net Git - nageru/blobdiff - meson.build
Only enable the preview button if we can actually preview something.
[nageru] / meson.build
index 16a604e60ebc7908852af15f8284d60637e1a1a9..fa6d40f5967723352192b7579a90f26c1fc4ac47 100644 (file)
@@ -1,4 +1,4 @@
-project('nageru', 'cpp', default_options: ['buildtype=debugoptimized'], version: '1.8.0')
+project('nageru', 'cpp', default_options: ['buildtype=debugoptimized'], version: '1.8.1')
 
 cxx = meson.get_compiler('cpp')
 qt5 = import('qt5')
@@ -41,20 +41,12 @@ if cxx.links(code, args: '-fuse-ld=lld', name: 'check for LLD')
 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
-
 # This needs to be done before declaring any build targets.
 if get_option('cef_dir') != ''
        add_project_arguments('-DHAVE_CEF=1', language: 'cpp')
@@ -151,10 +143,10 @@ endif
 
 # 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
@@ -167,9 +159,9 @@ endif
 # Protobuf compilation.
 gen = generator(protoc, \
        output    : ['@BASENAME@.pb.cc', '@BASENAME@.pb.h'],
-       arguments : ['--proto_path=@CURRENT_SOURCE_DIR@/nageru', '--cpp_out=@BUILD_DIR@', '@INPUT@'])
-proto_generated = gen.process(['nageru/state.proto', 'nageru/midi_mapping.proto', 'nageru/json.proto'])
-protobuf_lib = static_library('protobufs', proto_generated, dependencies: nageru_deps, include_directories: nageru_include_dirs)
+       arguments : ['--proto_path=@CURRENT_SOURCE_DIR@/nageru', '--cpp_out=@BUILD_DIR@', '-I@CURRENT_SOURCE_DIR@/shared', '@INPUT@'])
+proto_generated = gen.process(['nageru/state.proto', 'nageru/json.proto', 'nageru/nageru_midi_mapping.proto'])
+protobuf_lib = static_library('nageru_protobufs', proto_generated, dependencies: nageru_deps, include_directories: nageru_include_dirs)
 protobuf_hdrs = declare_dependency(sources: proto_generated)
 nageru_link_with += protobuf_lib
 
@@ -211,9 +203,11 @@ stream = static_library('stream', stream_srcs, dependencies: nageru_deps, includ
 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.