Files
yabridge/meson.build
T
Robbert van der Helm 5f584323c2 Monkey patch async pipes foor Boost 1.72
This is an simple workaround and it's much more practical than having to
downgrade Boost since that breaks any application that links to it.
2020-03-14 16:49:38 +01:00

58 lines
1.7 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_dep = dependency('boost', 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/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/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 : []
)