]> git.sesse.net Git - nageru/blobdiff - meson.build
Log a warning when we kill a client that is not keeping up.
[nageru] / meson.build
index c66d4a7b5fe7cc9838e3081d682c52802d5bbd96..d705c7fcb61feb819a1494ba44ae0dd15721f0f5 100644 (file)
@@ -1,4 +1,4 @@
-project('nageru', 'cpp', default_options: ['buildtype=debugoptimized'], version: '1.8.1')
+project('nageru', 'cpp', default_options: ['buildtype=debugoptimized'], version: '1.9.1')
 
 cxx = meson.get_compiler('cpp')
 qt5 = import('qt5')
@@ -9,6 +9,7 @@ embedded_bmusb = get_option('embedded_bmusb')
 alsadep = dependency('alsa')
 bmusbdep = dependency('bmusb', required: not embedded_bmusb)
 dldep = cxx.find_library('dl')
+eigendep = dependency('eigen3')
 epoxydep = dependency('epoxy')
 libavcodecdep = dependency('libavcodec')
 libavformatdep = dependency('libavformat')
@@ -47,6 +48,9 @@ add_project_arguments('-DMOVIT_SHADER_DIR="' + movit_shader_dir + '"', language:
 # Make the Nageru version available as a #define.
 add_project_arguments('-DNAGERU_VERSION="' + meson.project_version() + '"', language: 'cpp')
 
+# Make the prefix (e.g. /usr/local) available as a #define.
+add_project_arguments('-DPREFIX="' + get_option('prefix') + '"', language: 'cpp')
+
 # This needs to be done before declaring any build targets.
 if get_option('cef_dir') != ''
        add_project_arguments('-DHAVE_CEF=1', language: 'cpp')
@@ -62,7 +66,7 @@ nageru_srcs = []
 nageru_deps = [shareddep, qt5deps, libjpegdep, movitdep, protobufdep,
        vax11dep, vadrmdep, x11dep, libavformatdep, libswresampledep, libavcodecdep, libavutildep,
        libswscaledep, libusbdep, luajitdep, dldep, x264dep, alsadep, zitaresamplerdep,
-       qcustomplotdep, threaddep]
+       qcustomplotdep, threaddep, eigendep]
 nageru_include_dirs = [include_directories('nageru')]
 nageru_link_with = []
 nageru_build_rpath = ''
@@ -94,7 +98,7 @@ if have_cef
                nageru_install_rpath = '$ORIGIN/'
        endif
 
-       cefdep = cxx.find_library('cef')
+       cefdep = cxx.find_library('cef', dirs: cef_lib_dir)
        nageru_deps += cefdep
 
        # CEF wrapper library; not built as part of the CEF binary distribution,
@@ -104,7 +108,7 @@ if have_cef
                nageru_deps += cefdlldep
        else
                cmake = find_program('cmake')
-               cef_compile_script = find_program('scripts/compile_cef_dll_wrapper.sh')
+               cef_compile_script = find_program('nageru/scripts/compile_cef_dll_wrapper.sh')
 
                cef_dll_target = custom_target('libcef_dll_wrapper',
                        input: join_paths(cef_dir, 'libcef_dll/CMakeLists.txt'),
@@ -169,7 +173,7 @@ nageru_link_with += protobuf_lib
 qt_files = qt5.preprocess(
        moc_headers: ['nageru/analyzer.h', 'nageru/clickable_label.h', 'nageru/compression_reduction_meter.h', 'nageru/correlation_meter.h',
                'nageru/ellipsis_label.h', 'nageru/glwidget.h', 'nageru/input_mapping_dialog.h', 'nageru/lrameter.h', 'nageru/mainwindow.h', 'nageru/midi_mapping_dialog.h',
-               'nageru/nonlinear_fader.h', 'nageru/vumeter.h', 'nageru/controller_spin_box.h'],
+               'nageru/nonlinear_fader.h', 'nageru/vumeter.h'],
        ui_files: ['nageru/analyzer.ui', 'nageru/audio_expanded_view.ui', 'nageru/audio_miniview.ui', 'nageru/display.ui',
                'nageru/input_mapping.ui', 'nageru/mainwindow.ui', 'nageru/midi_mapping.ui'],
        dependencies: qt5deps)
@@ -192,7 +196,7 @@ nageru_link_with += audio
 
 # Mixer objects.
 nageru_srcs += ['nageru/chroma_subsampler.cpp', 'nageru/v210_converter.cpp', 'nageru/mixer.cpp', 'nageru/pbo_frame_allocator.cpp',
-       'nageru/theme.cpp', 'nageru/image_input.cpp', 'nageru/alsa_output.cpp',
+       'nageru/theme.cpp', 'nageru/scene.cpp', 'nageru/image_input.cpp', 'nageru/alsa_output.cpp',
        'nageru/timecode_renderer.cpp', 'nageru/tweaked_inputs.cpp', 'nageru/mjpeg_encoder.cpp']
 
 # Streaming and encoding objects (largely the set that is shared between Nageru and Kaeru).
@@ -273,8 +277,8 @@ proto_generated = gen.process('futatabi/state.proto', 'futatabi/frame.proto', 'f
 
 # Preprocess Qt as needed.
 moc_files = qt5.preprocess(
-       moc_headers: ['futatabi/mainwindow.h', 'futatabi/jpeg_frame_view.h', 'futatabi/clip_list.h'],
-       ui_files: ['futatabi/mainwindow.ui'],
+       moc_headers: ['futatabi/mainwindow.h', 'futatabi/jpeg_frame_view.h', 'futatabi/clip_list.h', 'futatabi/midi_mapping_dialog.h'],
+       ui_files: ['futatabi/mainwindow.ui', 'futatabi/midi_mapping.ui'],
        qresources: ['futatabi/mainwindow.qrc'],
        dependencies: qt5deps)
 
@@ -285,7 +289,8 @@ futatabi_srcs = ['futatabi/flow.cpp', 'futatabi/gpu_timers.cpp']
 futatabi_srcs += ['futatabi/main.cpp', 'futatabi/player.cpp', 'futatabi/video_stream.cpp', 'futatabi/chroma_subsampler.cpp']
 futatabi_srcs += ['futatabi/vaapi_jpeg_decoder.cpp', 'futatabi/db.cpp', 'futatabi/ycbcr_converter.cpp', 'futatabi/flags.cpp']
 futatabi_srcs += ['futatabi/mainwindow.cpp', 'futatabi/jpeg_frame_view.cpp', 'futatabi/clip_list.cpp', 'futatabi/frame_on_disk.cpp']
-futatabi_srcs += ['futatabi/export.cpp', 'futatabi/midi_mapper.cpp']
+futatabi_srcs += ['futatabi/export.cpp', 'futatabi/midi_mapper.cpp', 'futatabi/midi_mapping_dialog.cpp']
+futatabi_srcs += ['futatabi/exif_parser.cpp']
 futatabi_srcs += moc_files
 futatabi_srcs += proto_generated
 
@@ -303,7 +308,7 @@ futatabi_shader_srcs = bin2h_gen.process(shaders)
 futatabi_srcs += futatabi_shader_srcs
 
 executable('futatabi', futatabi_srcs,
-       dependencies: [shareddep, qt5deps, libjpegdep, movitdep, libmicrohttpddep, protobufdep, sqlite3dep, vax11dep, vadrmdep, x11dep, libavformatdep, libavcodecdep, libavutildep, libswscaledep],
+       dependencies: [shareddep, qt5deps, libjpegdep, movitdep, libmicrohttpddep, protobufdep, sqlite3dep, vax11dep, vadrmdep, x11dep, threaddep, libavformatdep, libavcodecdep, libavutildep, libswscaledep, eigendep],
        link_with: shared,
        include_directories: [include_directories('futatabi')],
        install: true)