mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
Move most of the Meson build to subdirectories
We sadly cannot call `shared_library()` and `executable()` in these subdirectories while still maintaining the same `build/` directory structure, but this is still much cleaner. All of the other build artifacts are now also gone from the root of `build/` so it's cleaner overall.
This commit is contained in:
+14
-271
@@ -235,205 +235,26 @@ if with_vst3
|
||||
endif
|
||||
|
||||
#
|
||||
# Source files
|
||||
# Binaries
|
||||
#
|
||||
# The application consists of a plugin (`libyabridge-{vst2,vst3}.so`) that calls
|
||||
# a Winelib application (`yabridge-{host,group}{,-32}.exe`) that can host
|
||||
# Windows VST2 and VST3 plugins. More information about the way these two
|
||||
# components work together can be found in `docs/architecture.md`.
|
||||
#
|
||||
|
||||
# Generate header files for configuration variables such as the current git tag
|
||||
# and the name of the host binary
|
||||
subdir('src/common/config')
|
||||
|
||||
vst2_plugin_sources = [
|
||||
'src/common/communication/common.cpp',
|
||||
'src/common/communication/vst2.cpp',
|
||||
'src/common/serialization/vst2.cpp',
|
||||
'src/common/configuration.cpp',
|
||||
'src/common/logging/common.cpp',
|
||||
'src/common/logging/vst2.cpp',
|
||||
'src/common/audio-shm.cpp',
|
||||
'src/common/plugins.cpp',
|
||||
'src/common/utils.cpp',
|
||||
'src/plugin/bridges/vst2.cpp',
|
||||
'src/plugin/host-process.cpp',
|
||||
'src/plugin/utils.cpp',
|
||||
'src/plugin/vst2-plugin.cpp',
|
||||
version_header,
|
||||
]
|
||||
|
||||
vst3_plugin_sources = [
|
||||
'src/common/communication/common.cpp',
|
||||
'src/common/logging/common.cpp',
|
||||
'src/common/logging/vst3.cpp',
|
||||
'src/common/serialization/vst3/component-handler/component-handler.cpp',
|
||||
'src/common/serialization/vst3/component-handler/component-handler-2.cpp',
|
||||
'src/common/serialization/vst3/component-handler/component-handler-3.cpp',
|
||||
'src/common/serialization/vst3/component-handler/component-handler-bus-activation.cpp',
|
||||
'src/common/serialization/vst3/component-handler/progress.cpp',
|
||||
'src/common/serialization/vst3/component-handler/unit-handler.cpp',
|
||||
'src/common/serialization/vst3/component-handler/unit-handler-2.cpp',
|
||||
'src/common/serialization/vst3/context-menu/context-menu.cpp',
|
||||
'src/common/serialization/vst3/host-context/host-application.cpp',
|
||||
'src/common/serialization/vst3/host-context/plug-interface-support.cpp',
|
||||
'src/common/serialization/vst3/plug-view/parameter-finder.cpp',
|
||||
'src/common/serialization/vst3/plug-view/plug-view.cpp',
|
||||
'src/common/serialization/vst3/plug-view/plug-view-content-scale-support.cpp',
|
||||
'src/common/serialization/vst3/plug-frame/plug-frame.cpp',
|
||||
'src/common/serialization/vst3/plugin/audio-presentation-latency.cpp',
|
||||
'src/common/serialization/vst3/plugin/audio-processor.cpp',
|
||||
'src/common/serialization/vst3/plugin/automation-state.cpp',
|
||||
'src/common/serialization/vst3/plugin/component.cpp',
|
||||
'src/common/serialization/vst3/plugin/connection-point.cpp',
|
||||
'src/common/serialization/vst3/plugin/edit-controller.cpp',
|
||||
'src/common/serialization/vst3/plugin/edit-controller-2.cpp',
|
||||
'src/common/serialization/vst3/plugin/edit-controller-host-editing.cpp',
|
||||
'src/common/serialization/vst3/plugin/info-listener.cpp',
|
||||
'src/common/serialization/vst3/plugin/keyswitch-controller.cpp',
|
||||
'src/common/serialization/vst3/plugin/midi-learn.cpp',
|
||||
'src/common/serialization/vst3/plugin/midi-mapping.cpp',
|
||||
'src/common/serialization/vst3/plugin/note-expression-controller.cpp',
|
||||
'src/common/serialization/vst3/plugin/note-expression-physical-ui-mapping.cpp',
|
||||
'src/common/serialization/vst3/plugin/parameter-function-name.cpp',
|
||||
'src/common/serialization/vst3/plugin/plugin-base.cpp',
|
||||
'src/common/serialization/vst3/plugin/prefetchable-support.cpp',
|
||||
'src/common/serialization/vst3/plugin/process-context-requirements.cpp',
|
||||
'src/common/serialization/vst3/plugin/program-list-data.cpp',
|
||||
'src/common/serialization/vst3/plugin/unit-data.cpp',
|
||||
'src/common/serialization/vst3/plugin/unit-info.cpp',
|
||||
'src/common/serialization/vst3/plugin/xml-representation-controller.cpp',
|
||||
'src/common/serialization/vst3/plugin-factory/plugin-factory.cpp',
|
||||
'src/common/serialization/vst3/attribute-list.cpp',
|
||||
'src/common/serialization/vst3/base.cpp',
|
||||
'src/common/serialization/vst3/bstream.cpp',
|
||||
'src/common/serialization/vst3/component-handler-proxy.cpp',
|
||||
'src/common/serialization/vst3/connection-point-proxy.cpp',
|
||||
'src/common/serialization/vst3/context-menu-proxy.cpp',
|
||||
'src/common/serialization/vst3/context-menu-target.cpp',
|
||||
'src/common/serialization/vst3/event-list.cpp',
|
||||
'src/common/serialization/vst3/host-context-proxy.cpp',
|
||||
'src/common/serialization/vst3/message.cpp',
|
||||
'src/common/serialization/vst3/param-value-queue.cpp',
|
||||
'src/common/serialization/vst3/parameter-changes.cpp',
|
||||
'src/common/serialization/vst3/physical-ui-map-list.cpp',
|
||||
'src/common/serialization/vst3/plug-frame-proxy.cpp',
|
||||
'src/common/serialization/vst3/plug-view-proxy.cpp',
|
||||
'src/common/serialization/vst3/plugin-proxy.cpp',
|
||||
'src/common/serialization/vst3/plugin-factory-proxy.cpp',
|
||||
'src/common/serialization/vst3/process-data.cpp',
|
||||
'src/common/audio-shm.cpp',
|
||||
'src/common/configuration.cpp',
|
||||
'src/common/plugins.cpp',
|
||||
'src/common/utils.cpp',
|
||||
'src/plugin/bridges/vst3.cpp',
|
||||
'src/plugin/bridges/vst3-impls/context-menu-target.cpp',
|
||||
'src/plugin/bridges/vst3-impls/plugin-factory-proxy.cpp',
|
||||
'src/plugin/bridges/vst3-impls/plug-view-proxy.cpp',
|
||||
'src/plugin/bridges/vst3-impls/plugin-proxy.cpp',
|
||||
'src/plugin/host-process.cpp',
|
||||
'src/plugin/utils.cpp',
|
||||
'src/plugin/vst3-plugin.cpp',
|
||||
]
|
||||
|
||||
host_common_sources = [
|
||||
'src/common/communication/vst2.cpp',
|
||||
'src/common/serialization/vst2.cpp',
|
||||
'src/common/configuration.cpp',
|
||||
'src/common/logging/common.cpp',
|
||||
'src/common/logging/vst2.cpp',
|
||||
'src/common/audio-shm.cpp',
|
||||
'src/common/plugins.cpp',
|
||||
'src/common/utils.cpp',
|
||||
'src/wine-host/bridges/common.cpp',
|
||||
'src/wine-host/bridges/vst2.cpp',
|
||||
'src/wine-host/editor.cpp',
|
||||
'src/wine-host/editor.cpp',
|
||||
'src/wine-host/utils.cpp',
|
||||
]
|
||||
|
||||
if with_vst3
|
||||
host_common_sources += [
|
||||
'src/common/logging/vst3.cpp',
|
||||
'src/common/serialization/vst3/component-handler/component-handler.cpp',
|
||||
'src/common/serialization/vst3/component-handler/component-handler-2.cpp',
|
||||
'src/common/serialization/vst3/component-handler/component-handler-3.cpp',
|
||||
'src/common/serialization/vst3/component-handler/component-handler-bus-activation.cpp',
|
||||
'src/common/serialization/vst3/component-handler/progress.cpp',
|
||||
'src/common/serialization/vst3/component-handler/unit-handler.cpp',
|
||||
'src/common/serialization/vst3/component-handler/unit-handler-2.cpp',
|
||||
'src/common/serialization/vst3/context-menu/context-menu.cpp',
|
||||
'src/common/serialization/vst3/host-context/host-application.cpp',
|
||||
'src/common/serialization/vst3/host-context/plug-interface-support.cpp',
|
||||
'src/common/serialization/vst3/plug-view/parameter-finder.cpp',
|
||||
'src/common/serialization/vst3/plug-view/plug-view.cpp',
|
||||
'src/common/serialization/vst3/plug-view/plug-view-content-scale-support.cpp',
|
||||
'src/common/serialization/vst3/plug-frame/plug-frame.cpp',
|
||||
'src/common/serialization/vst3/plugin/audio-presentation-latency.cpp',
|
||||
'src/common/serialization/vst3/plugin/audio-processor.cpp',
|
||||
'src/common/serialization/vst3/plugin/automation-state.cpp',
|
||||
'src/common/serialization/vst3/plugin/component.cpp',
|
||||
'src/common/serialization/vst3/plugin/connection-point.cpp',
|
||||
'src/common/serialization/vst3/plugin/edit-controller.cpp',
|
||||
'src/common/serialization/vst3/plugin/edit-controller-2.cpp',
|
||||
'src/common/serialization/vst3/plugin/edit-controller-host-editing.cpp',
|
||||
'src/common/serialization/vst3/plugin/info-listener.cpp',
|
||||
'src/common/serialization/vst3/plugin/keyswitch-controller.cpp',
|
||||
'src/common/serialization/vst3/plugin/midi-learn.cpp',
|
||||
'src/common/serialization/vst3/plugin/midi-mapping.cpp',
|
||||
'src/common/serialization/vst3/plugin/note-expression-controller.cpp',
|
||||
'src/common/serialization/vst3/plugin/note-expression-physical-ui-mapping.cpp',
|
||||
'src/common/serialization/vst3/plugin/parameter-function-name.cpp',
|
||||
'src/common/serialization/vst3/plugin/plugin-base.cpp',
|
||||
'src/common/serialization/vst3/plugin/prefetchable-support.cpp',
|
||||
'src/common/serialization/vst3/plugin/process-context-requirements.cpp',
|
||||
'src/common/serialization/vst3/plugin/program-list-data.cpp',
|
||||
'src/common/serialization/vst3/plugin/unit-data.cpp',
|
||||
'src/common/serialization/vst3/plugin/unit-info.cpp',
|
||||
'src/common/serialization/vst3/plugin/xml-representation-controller.cpp',
|
||||
'src/common/serialization/vst3/plugin-factory/plugin-factory.cpp',
|
||||
'src/common/serialization/vst3/attribute-list.cpp',
|
||||
'src/common/serialization/vst3/base.cpp',
|
||||
'src/common/serialization/vst3/bstream.cpp',
|
||||
'src/common/serialization/vst3/component-handler-proxy.cpp',
|
||||
'src/common/serialization/vst3/connection-point-proxy.cpp',
|
||||
'src/common/serialization/vst3/context-menu-proxy.cpp',
|
||||
'src/common/serialization/vst3/context-menu-target.cpp',
|
||||
'src/common/serialization/vst3/event-list.cpp',
|
||||
'src/common/serialization/vst3/host-context-proxy.cpp',
|
||||
'src/common/serialization/vst3/message.cpp',
|
||||
'src/common/serialization/vst3/param-value-queue.cpp',
|
||||
'src/common/serialization/vst3/parameter-changes.cpp',
|
||||
'src/common/serialization/vst3/physical-ui-map-list.cpp',
|
||||
'src/common/serialization/vst3/plug-frame-proxy.cpp',
|
||||
'src/common/serialization/vst3/plug-view-proxy.cpp',
|
||||
'src/common/serialization/vst3/plugin-proxy.cpp',
|
||||
'src/common/serialization/vst3/plugin-factory-proxy.cpp',
|
||||
'src/common/serialization/vst3/process-data.cpp',
|
||||
'src/wine-host/bridges/vst3-impls/component-handler-proxy.cpp',
|
||||
'src/wine-host/bridges/vst3-impls/connection-point-proxy.cpp',
|
||||
'src/wine-host/bridges/vst3-impls/context-menu-proxy.cpp',
|
||||
'src/wine-host/bridges/vst3-impls/host-context-proxy.cpp',
|
||||
'src/wine-host/bridges/vst3-impls/plug-frame-proxy.cpp',
|
||||
'src/wine-host/bridges/vst3.cpp',
|
||||
]
|
||||
endif
|
||||
|
||||
# We'll link these against a static library `host_common_sources`
|
||||
individual_host_sources = [
|
||||
'src/wine-host/individual-host.cpp',
|
||||
version_header,
|
||||
]
|
||||
group_host_sources = [
|
||||
'src/wine-host/bridges/group.cpp',
|
||||
'src/wine-host/group-host.cpp',
|
||||
version_header,
|
||||
]
|
||||
|
||||
#
|
||||
# Libraries
|
||||
#
|
||||
# The application consists of a plugin (`libyabridge-{vst2,vst3}.so`) that calls
|
||||
# a Winelib application (`yabridge-{host,group}{,-32}.exe`) that can host
|
||||
# Windows VST plugins. More information about the way these two components work
|
||||
# together can be found in `docs/architecture.md`.
|
||||
#
|
||||
# These only contain the definitions for sources and dependencies. It would be
|
||||
# nice to define the libraries and executables inside of these meson.build
|
||||
# files, but that will also scatter the build artifacts around in the `build/`
|
||||
# directory and it's much more convenient having all of the important files
|
||||
# directory under `build/`.
|
||||
# https://github.com/mesonbuild/meson/pull/4037
|
||||
subdir('src/plugin')
|
||||
subdir('src/wine-host')
|
||||
|
||||
shared_library(
|
||||
'yabridge-vst2',
|
||||
@@ -479,84 +300,6 @@ if with_vst3
|
||||
)
|
||||
endif
|
||||
|
||||
#
|
||||
# Hosts
|
||||
#
|
||||
|
||||
host_64bit_deps = [
|
||||
boost_dep,
|
||||
boost_filesystem_64bit_dep,
|
||||
bitsery_dep,
|
||||
function2_dep,
|
||||
rt_dep,
|
||||
tomlplusplus_dep,
|
||||
wine_ole32_dep,
|
||||
wine_threads_dep,
|
||||
xcb_64bit_dep,
|
||||
]
|
||||
if with_vst3
|
||||
host_64bit_deps += [
|
||||
vst3_sdk_hosting_wine_64bit_dep,
|
||||
wine_shell32_dep,
|
||||
wine_uuid_dep,
|
||||
]
|
||||
endif
|
||||
|
||||
host_common_64bit = static_library(
|
||||
'host_common_64bit',
|
||||
host_common_sources,
|
||||
native : false,
|
||||
include_directories : include_dir,
|
||||
dependencies : host_64bit_deps,
|
||||
cpp_args : compiler_options + wine_64bit_compiler_options,
|
||||
link_args : ['-m64'],
|
||||
)
|
||||
host_common_64bit_dep = declare_dependency(
|
||||
link_with : host_common_64bit,
|
||||
include_directories : include_dir,
|
||||
dependencies : host_64bit_deps,
|
||||
compile_args : compiler_options + wine_64bit_compiler_options,
|
||||
)
|
||||
|
||||
if with_bitbridge
|
||||
message('Bitbridge enabled, configuring a 32-bit host application')
|
||||
|
||||
host_32bit_deps = [
|
||||
boost_dep,
|
||||
boost_filesystem_32bit_dep,
|
||||
bitsery_dep,
|
||||
function2_dep,
|
||||
rt_dep,
|
||||
tomlplusplus_dep,
|
||||
wine_threads_dep,
|
||||
xcb_32bit_dep,
|
||||
]
|
||||
if with_vst3
|
||||
host_32bit_deps += [
|
||||
vst3_sdk_hosting_wine_32bit_dep,
|
||||
wine_ole32_dep,
|
||||
wine_shell32_dep,
|
||||
wine_uuid_dep,
|
||||
]
|
||||
endif
|
||||
|
||||
host_common_32bit = static_library(
|
||||
'host_common_32bit',
|
||||
host_common_sources,
|
||||
native : false,
|
||||
include_directories : include_dir,
|
||||
dependencies : host_32bit_deps,
|
||||
cpp_args : compiler_options + wine_32bit_compiler_options,
|
||||
link_args : ['-m32'],
|
||||
)
|
||||
host_common_32bit_dep = declare_dependency(
|
||||
link_with : host_common_32bit,
|
||||
include_directories : include_dir,
|
||||
dependencies : host_32bit_deps,
|
||||
compile_args : compiler_options + wine_32bit_compiler_options,
|
||||
)
|
||||
endif
|
||||
|
||||
executable(
|
||||
individual_host_name_64bit,
|
||||
individual_host_sources,
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
#include <public.sdk/source/vst/utility/stringconvert.h>
|
||||
|
||||
#include "src/common/serialization/vst3.h"
|
||||
#include "../serialization/vst3.h"
|
||||
|
||||
/**
|
||||
* Format a `YaBStream` object as a string so we don't have to repeat this
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
#include "event-list.h"
|
||||
|
||||
#include "src/common/utils.h"
|
||||
#include "../../utils.h"
|
||||
|
||||
YaDataEvent::YaDataEvent() noexcept {}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
#include "process-data.h"
|
||||
|
||||
#include "src/common/utils.h"
|
||||
#include "../../utils.h"
|
||||
|
||||
YaProcessData::YaProcessData() noexcept
|
||||
// This response object acts as an optimization. It stores pointers to the
|
||||
|
||||
@@ -19,11 +19,12 @@
|
||||
#include <future>
|
||||
#include <iomanip>
|
||||
|
||||
// Generated inside of the build directory
|
||||
#include <src/common/config/config.h>
|
||||
#include <src/common/config/version.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
// Generated inside of the build directory
|
||||
#include <config.h>
|
||||
#include <version.h>
|
||||
|
||||
#include "../../common/configuration.h"
|
||||
#include "../../common/utils.h"
|
||||
#include "../host-process.h"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
#include <pluginterfaces/base/ustring.h>
|
||||
|
||||
#include "src/common/serialization/vst3.h"
|
||||
#include "../../common/serialization/vst3.h"
|
||||
#include "vst3-impls/context-menu-target.h"
|
||||
#include "vst3-impls/plugin-proxy.h"
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include <boost/process/env.hpp>
|
||||
#include <boost/process/start_dir.hpp>
|
||||
|
||||
#include "src/common/utils.h"
|
||||
#include "../common/utils.h"
|
||||
|
||||
namespace bp = boost::process;
|
||||
namespace fs = boost::filesystem;
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
# We only define the sources here, because calling `shared_library()` here will
|
||||
# cause the `libyabridge-*.so` files to be generated in a deeply nested
|
||||
# subdirectory of `build/`
|
||||
vst2_plugin_sources = files(
|
||||
'../common/communication/common.cpp',
|
||||
'../common/communication/vst2.cpp',
|
||||
'../common/serialization/vst2.cpp',
|
||||
'../common/configuration.cpp',
|
||||
'../common/logging/common.cpp',
|
||||
'../common/logging/vst2.cpp',
|
||||
'../common/audio-shm.cpp',
|
||||
'../common/plugins.cpp',
|
||||
'../common/utils.cpp',
|
||||
'bridges/vst2.cpp',
|
||||
'host-process.cpp',
|
||||
'utils.cpp',
|
||||
'vst2-plugin.cpp',
|
||||
) + [
|
||||
config_header,
|
||||
version_header,
|
||||
]
|
||||
|
||||
vst3_plugin_sources = files(
|
||||
'../common/communication/common.cpp',
|
||||
'../common/logging/common.cpp',
|
||||
'../common/logging/vst3.cpp',
|
||||
'../common/serialization/vst3/component-handler/component-handler.cpp',
|
||||
'../common/serialization/vst3/component-handler/component-handler-2.cpp',
|
||||
'../common/serialization/vst3/component-handler/component-handler-3.cpp',
|
||||
'../common/serialization/vst3/component-handler/component-handler-bus-activation.cpp',
|
||||
'../common/serialization/vst3/component-handler/progress.cpp',
|
||||
'../common/serialization/vst3/component-handler/unit-handler.cpp',
|
||||
'../common/serialization/vst3/component-handler/unit-handler-2.cpp',
|
||||
'../common/serialization/vst3/context-menu/context-menu.cpp',
|
||||
'../common/serialization/vst3/host-context/host-application.cpp',
|
||||
'../common/serialization/vst3/host-context/plug-interface-support.cpp',
|
||||
'../common/serialization/vst3/plug-view/parameter-finder.cpp',
|
||||
'../common/serialization/vst3/plug-view/plug-view.cpp',
|
||||
'../common/serialization/vst3/plug-view/plug-view-content-scale-support.cpp',
|
||||
'../common/serialization/vst3/plug-frame/plug-frame.cpp',
|
||||
'../common/serialization/vst3/plugin/audio-presentation-latency.cpp',
|
||||
'../common/serialization/vst3/plugin/audio-processor.cpp',
|
||||
'../common/serialization/vst3/plugin/automation-state.cpp',
|
||||
'../common/serialization/vst3/plugin/component.cpp',
|
||||
'../common/serialization/vst3/plugin/connection-point.cpp',
|
||||
'../common/serialization/vst3/plugin/edit-controller.cpp',
|
||||
'../common/serialization/vst3/plugin/edit-controller-2.cpp',
|
||||
'../common/serialization/vst3/plugin/edit-controller-host-editing.cpp',
|
||||
'../common/serialization/vst3/plugin/info-listener.cpp',
|
||||
'../common/serialization/vst3/plugin/keyswitch-controller.cpp',
|
||||
'../common/serialization/vst3/plugin/midi-learn.cpp',
|
||||
'../common/serialization/vst3/plugin/midi-mapping.cpp',
|
||||
'../common/serialization/vst3/plugin/note-expression-controller.cpp',
|
||||
'../common/serialization/vst3/plugin/note-expression-physical-ui-mapping.cpp',
|
||||
'../common/serialization/vst3/plugin/parameter-function-name.cpp',
|
||||
'../common/serialization/vst3/plugin/plugin-base.cpp',
|
||||
'../common/serialization/vst3/plugin/prefetchable-support.cpp',
|
||||
'../common/serialization/vst3/plugin/process-context-requirements.cpp',
|
||||
'../common/serialization/vst3/plugin/program-list-data.cpp',
|
||||
'../common/serialization/vst3/plugin/unit-data.cpp',
|
||||
'../common/serialization/vst3/plugin/unit-info.cpp',
|
||||
'../common/serialization/vst3/plugin/xml-representation-controller.cpp',
|
||||
'../common/serialization/vst3/plugin-factory/plugin-factory.cpp',
|
||||
'../common/serialization/vst3/attribute-list.cpp',
|
||||
'../common/serialization/vst3/base.cpp',
|
||||
'../common/serialization/vst3/bstream.cpp',
|
||||
'../common/serialization/vst3/component-handler-proxy.cpp',
|
||||
'../common/serialization/vst3/connection-point-proxy.cpp',
|
||||
'../common/serialization/vst3/context-menu-proxy.cpp',
|
||||
'../common/serialization/vst3/context-menu-target.cpp',
|
||||
'../common/serialization/vst3/event-list.cpp',
|
||||
'../common/serialization/vst3/host-context-proxy.cpp',
|
||||
'../common/serialization/vst3/message.cpp',
|
||||
'../common/serialization/vst3/param-value-queue.cpp',
|
||||
'../common/serialization/vst3/parameter-changes.cpp',
|
||||
'../common/serialization/vst3/physical-ui-map-list.cpp',
|
||||
'../common/serialization/vst3/plug-frame-proxy.cpp',
|
||||
'../common/serialization/vst3/plug-view-proxy.cpp',
|
||||
'../common/serialization/vst3/plugin-proxy.cpp',
|
||||
'../common/serialization/vst3/plugin-factory-proxy.cpp',
|
||||
'../common/serialization/vst3/process-data.cpp',
|
||||
'../common/audio-shm.cpp',
|
||||
'../common/configuration.cpp',
|
||||
'../common/plugins.cpp',
|
||||
'../common/utils.cpp',
|
||||
'bridges/vst3.cpp',
|
||||
'bridges/vst3-impls/context-menu-target.cpp',
|
||||
'bridges/vst3-impls/plugin-factory-proxy.cpp',
|
||||
'bridges/vst3-impls/plug-view-proxy.cpp',
|
||||
'bridges/vst3-impls/plugin-proxy.cpp',
|
||||
'host-process.cpp',
|
||||
'utils.cpp',
|
||||
'vst3-plugin.cpp',
|
||||
) + [
|
||||
config_header,
|
||||
version_header,
|
||||
]
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <boost/process/env.hpp>
|
||||
|
||||
// Generated inside of the build directory
|
||||
#include <src/common/config/config.h>
|
||||
#include <config.h>
|
||||
|
||||
#include "../common/configuration.h"
|
||||
#include "../common/utils.h"
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
#include <iostream>
|
||||
|
||||
// Generated inside of the build directory
|
||||
#include <src/common/config/config.h>
|
||||
#include <src/common/config/version.h>
|
||||
#include <config.h>
|
||||
#include <version.h>
|
||||
|
||||
#include "../common/utils.h"
|
||||
#include "bridges/group.h"
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
#include <thread>
|
||||
|
||||
// Generated inside of the build directory
|
||||
#include <src/common/config/config.h>
|
||||
#include <src/common/config/version.h>
|
||||
#include <config.h>
|
||||
#include <version.h>
|
||||
|
||||
#include "../common/utils.h"
|
||||
#include "bridges/vst2.h"
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
# The plugin host applications come on four flavours: hosting a single plugin
|
||||
# and hosting multiple plugins within a single process, and 32-bit and 64-bit.
|
||||
# We will compile the shared parts for the individual an plugin group hosts as a
|
||||
# static library first to cut down on compile times.
|
||||
#
|
||||
# As with the libraries, we cannot call `executable()` here since we would like
|
||||
# to keep all relevant files in the root of the build directory, and Meson
|
||||
# doesn't have a way to customize that yet.
|
||||
host_64bit_deps = [
|
||||
boost_dep,
|
||||
boost_filesystem_64bit_dep,
|
||||
bitsery_dep,
|
||||
function2_dep,
|
||||
rt_dep,
|
||||
tomlplusplus_dep,
|
||||
wine_ole32_dep,
|
||||
wine_threads_dep,
|
||||
xcb_64bit_dep,
|
||||
]
|
||||
if with_vst3
|
||||
host_64bit_deps += [
|
||||
vst3_sdk_hosting_wine_64bit_dep,
|
||||
wine_shell32_dep,
|
||||
wine_uuid_dep,
|
||||
]
|
||||
endif
|
||||
|
||||
if with_bitbridge
|
||||
message('Bitbridge enabled, configuring a 32-bit host application')
|
||||
|
||||
host_32bit_deps = [
|
||||
boost_dep,
|
||||
boost_filesystem_32bit_dep,
|
||||
bitsery_dep,
|
||||
function2_dep,
|
||||
rt_dep,
|
||||
tomlplusplus_dep,
|
||||
wine_threads_dep,
|
||||
xcb_32bit_dep,
|
||||
]
|
||||
if with_vst3
|
||||
host_32bit_deps += [
|
||||
vst3_sdk_hosting_wine_32bit_dep,
|
||||
wine_ole32_dep,
|
||||
wine_shell32_dep,
|
||||
wine_uuid_dep,
|
||||
]
|
||||
endif
|
||||
endif
|
||||
|
||||
host_common_sources = files(
|
||||
'../common/communication/vst2.cpp',
|
||||
'../common/serialization/vst2.cpp',
|
||||
'../common/configuration.cpp',
|
||||
'../common/logging/common.cpp',
|
||||
'../common/logging/vst2.cpp',
|
||||
'../common/audio-shm.cpp',
|
||||
'../common/plugins.cpp',
|
||||
'../common/utils.cpp',
|
||||
'bridges/common.cpp',
|
||||
'bridges/vst2.cpp',
|
||||
'editor.cpp',
|
||||
'editor.cpp',
|
||||
'utils.cpp',
|
||||
)
|
||||
|
||||
if with_vst3
|
||||
host_common_sources += files(
|
||||
'../common/logging/vst3.cpp',
|
||||
'../common/serialization/vst3/component-handler/component-handler.cpp',
|
||||
'../common/serialization/vst3/component-handler/component-handler-2.cpp',
|
||||
'../common/serialization/vst3/component-handler/component-handler-3.cpp',
|
||||
'../common/serialization/vst3/component-handler/component-handler-bus-activation.cpp',
|
||||
'../common/serialization/vst3/component-handler/progress.cpp',
|
||||
'../common/serialization/vst3/component-handler/unit-handler.cpp',
|
||||
'../common/serialization/vst3/component-handler/unit-handler-2.cpp',
|
||||
'../common/serialization/vst3/context-menu/context-menu.cpp',
|
||||
'../common/serialization/vst3/host-context/host-application.cpp',
|
||||
'../common/serialization/vst3/host-context/plug-interface-support.cpp',
|
||||
'../common/serialization/vst3/plug-view/parameter-finder.cpp',
|
||||
'../common/serialization/vst3/plug-view/plug-view.cpp',
|
||||
'../common/serialization/vst3/plug-view/plug-view-content-scale-support.cpp',
|
||||
'../common/serialization/vst3/plug-frame/plug-frame.cpp',
|
||||
'../common/serialization/vst3/plugin/audio-presentation-latency.cpp',
|
||||
'../common/serialization/vst3/plugin/audio-processor.cpp',
|
||||
'../common/serialization/vst3/plugin/automation-state.cpp',
|
||||
'../common/serialization/vst3/plugin/component.cpp',
|
||||
'../common/serialization/vst3/plugin/connection-point.cpp',
|
||||
'../common/serialization/vst3/plugin/edit-controller.cpp',
|
||||
'../common/serialization/vst3/plugin/edit-controller-2.cpp',
|
||||
'../common/serialization/vst3/plugin/edit-controller-host-editing.cpp',
|
||||
'../common/serialization/vst3/plugin/info-listener.cpp',
|
||||
'../common/serialization/vst3/plugin/keyswitch-controller.cpp',
|
||||
'../common/serialization/vst3/plugin/midi-learn.cpp',
|
||||
'../common/serialization/vst3/plugin/midi-mapping.cpp',
|
||||
'../common/serialization/vst3/plugin/note-expression-controller.cpp',
|
||||
'../common/serialization/vst3/plugin/note-expression-physical-ui-mapping.cpp',
|
||||
'../common/serialization/vst3/plugin/parameter-function-name.cpp',
|
||||
'../common/serialization/vst3/plugin/plugin-base.cpp',
|
||||
'../common/serialization/vst3/plugin/prefetchable-support.cpp',
|
||||
'../common/serialization/vst3/plugin/process-context-requirements.cpp',
|
||||
'../common/serialization/vst3/plugin/program-list-data.cpp',
|
||||
'../common/serialization/vst3/plugin/unit-data.cpp',
|
||||
'../common/serialization/vst3/plugin/unit-info.cpp',
|
||||
'../common/serialization/vst3/plugin/xml-representation-controller.cpp',
|
||||
'../common/serialization/vst3/plugin-factory/plugin-factory.cpp',
|
||||
'../common/serialization/vst3/attribute-list.cpp',
|
||||
'../common/serialization/vst3/base.cpp',
|
||||
'../common/serialization/vst3/bstream.cpp',
|
||||
'../common/serialization/vst3/component-handler-proxy.cpp',
|
||||
'../common/serialization/vst3/connection-point-proxy.cpp',
|
||||
'../common/serialization/vst3/context-menu-proxy.cpp',
|
||||
'../common/serialization/vst3/context-menu-target.cpp',
|
||||
'../common/serialization/vst3/event-list.cpp',
|
||||
'../common/serialization/vst3/host-context-proxy.cpp',
|
||||
'../common/serialization/vst3/message.cpp',
|
||||
'../common/serialization/vst3/param-value-queue.cpp',
|
||||
'../common/serialization/vst3/parameter-changes.cpp',
|
||||
'../common/serialization/vst3/physical-ui-map-list.cpp',
|
||||
'../common/serialization/vst3/plug-frame-proxy.cpp',
|
||||
'../common/serialization/vst3/plug-view-proxy.cpp',
|
||||
'../common/serialization/vst3/plugin-proxy.cpp',
|
||||
'../common/serialization/vst3/plugin-factory-proxy.cpp',
|
||||
'../common/serialization/vst3/process-data.cpp',
|
||||
'bridges/vst3-impls/component-handler-proxy.cpp',
|
||||
'bridges/vst3-impls/connection-point-proxy.cpp',
|
||||
'bridges/vst3-impls/context-menu-proxy.cpp',
|
||||
'bridges/vst3-impls/host-context-proxy.cpp',
|
||||
'bridges/vst3-impls/plug-frame-proxy.cpp',
|
||||
'bridges/vst3.cpp',
|
||||
)
|
||||
endif
|
||||
|
||||
# These will be linked against a static library made from `host_common_sources`
|
||||
individual_host_sources = files(
|
||||
'individual-host.cpp',
|
||||
) + [
|
||||
config_header,
|
||||
version_header,
|
||||
]
|
||||
group_host_sources = files(
|
||||
'bridges/group.cpp',
|
||||
'group-host.cpp',
|
||||
) + [
|
||||
config_header,
|
||||
version_header,
|
||||
]
|
||||
|
||||
host_common_64bit = static_library(
|
||||
'host_common_64bit',
|
||||
host_common_sources,
|
||||
native : false,
|
||||
include_directories : include_dir,
|
||||
dependencies : host_64bit_deps,
|
||||
cpp_args : compiler_options + wine_64bit_compiler_options,
|
||||
link_args : ['-m64'],
|
||||
)
|
||||
host_common_64bit_dep = declare_dependency(
|
||||
link_with : host_common_64bit,
|
||||
include_directories : include_dir,
|
||||
dependencies : host_64bit_deps,
|
||||
compile_args : compiler_options + wine_64bit_compiler_options,
|
||||
)
|
||||
if with_bitbridge
|
||||
host_common_32bit = static_library(
|
||||
'host_common_32bit',
|
||||
host_common_sources,
|
||||
native : false,
|
||||
include_directories : include_dir,
|
||||
dependencies : host_32bit_deps,
|
||||
cpp_args : compiler_options + wine_32bit_compiler_options,
|
||||
link_args : ['-m32'],
|
||||
)
|
||||
host_common_32bit_dep = declare_dependency(
|
||||
link_with : host_common_32bit,
|
||||
include_directories : include_dir,
|
||||
dependencies : host_32bit_deps,
|
||||
compile_args : compiler_options + wine_32bit_compiler_options,
|
||||
)
|
||||
endif
|
||||
Reference in New Issue
Block a user