mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
69008e97a4
Easier than to implement C-style arrays in Bitsery and this way we also don't have to worry about cleanup. Serum still segfaults with multiple events so something is still off.
62 lines
1.9 KiB
Meson
62 lines
1.9 KiB
Meson
project(
|
|
'yabridge',
|
|
'cpp',
|
|
version : '0.1',
|
|
default_options : ['warning_level=3', 'cpp_std=c++17', 'build.cpp_std=c++17']
|
|
)
|
|
|
|
# Meson does not let us set a default cross compiler, which makes sense, but it
|
|
# also means that it's easy to forget. This will cause the setup process to
|
|
# abort if no cross compiler has been set up.
|
|
winelib_check = '''#ifndef __WINE__
|
|
#error 1
|
|
#endif'''
|
|
if not meson.get_compiler('cpp').compiles(winelib_check)
|
|
error('You need to set up a cross compiler, check the README for more information.')
|
|
endif
|
|
|
|
# The application consists of a VST plugin (yabridge) that calls a winelib
|
|
# program (yabridge-host) that can host Windows VST plugins. More information
|
|
# about the way these two components work together can be found in the readme
|
|
# file.
|
|
|
|
# Boost 1.72 has a known bug in Boost.Process that will cause compilation to
|
|
# fail, see https://github.com/boostorg/process/issues/116
|
|
boost_dep = dependency('boost', version : '!=1.72', modules : ['filesystem'])
|
|
bitsery_dep = subproject('bitsery').get_variable('bitsery_dep')
|
|
threads_dep = dependency('threads')
|
|
# The built in threads dependency does not know how to handle winegcc
|
|
wine_threads_dep = declare_dependency(link_args : '-lpthread')
|
|
|
|
include_dir = include_directories('src/include')
|
|
|
|
shared_library(
|
|
'yabridge',
|
|
[
|
|
'src/common/communication.cpp',
|
|
'src/common/logging.cpp',
|
|
'src/common/serialization.cpp',
|
|
'src/plugin/host-bridge.cpp',
|
|
'src/plugin/plugin.cpp',
|
|
],
|
|
native : true,
|
|
include_directories : include_dir,
|
|
dependencies : [boost_dep, bitsery_dep, threads_dep],
|
|
link_args : ['-ldl']
|
|
)
|
|
|
|
executable(
|
|
'yabridge-host',
|
|
[
|
|
'src/common/communication.cpp',
|
|
'src/common/logging.cpp',
|
|
'src/common/serialization.cpp',
|
|
'src/wine-host/plugin-bridge.cpp',
|
|
'src/wine-host/vst-host.cpp',
|
|
],
|
|
native : false,
|
|
include_directories : include_dir,
|
|
dependencies : [boost_dep, bitsery_dep, wine_threads_dep],
|
|
link_args : []
|
|
)
|