mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
5f584323c2
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.
58 lines
1.7 KiB
Meson
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 : []
|
|
)
|