Browse Source

Don't build legacy plugins if target is vst3 only; Cleanup

Signed-off-by: falkTX <falktx@falktx.com>
tags/2020-12-27
falkTX 2 years ago
parent
commit
7811473a13
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 112 additions and 110 deletions
  1. +112
    -110
      ports-legacy/meson.build

+ 112
- 110
ports-legacy/meson.build View File

@@ -187,118 +187,120 @@ build_flags_juced = [

###############################################################################

foreach plugin : plugins
if plugin in get_option('plugins')
plugin_uses_drowaudio = false
plugin_uses_juced = false
plugin_uses_opengl = false
plugin_extra_dependencies = []
plugin_extra_include_dirs = []
plugin_extra_build_flags = []
plugin_extra_link_flags = []
plugin_extra_format_specific_srcs = []

subdir(plugin)

plugin_extra_format_specific_srcs += files([
'../libs/juce-plugin/JucePluginMain.cpp',
'../libs/juce-plugin/JucePluginUtils.cpp',
])

link_with_plugin = [
lib_juce_legacy
]

if plugin_uses_drowaudio
link_with_plugin += lib_drowaudio
endif

if plugin_uses_juced
link_with_plugin += lib_juced
endif

if plugin_uses_opengl
if os_darwin
plugin_extra_link_flags += [
'-framework OpenGL',
]
elif os_windows
plugin_extra_dependencies += [
cc.find_library('opengl32'),
]
elif not linux_embed
plugin_extra_dependencies += [
dependency('gl')
if build_lv2 or build_vst2
foreach plugin : plugins
if plugin in get_option('plugins')
plugin_uses_drowaudio = false
plugin_uses_juced = false
plugin_uses_opengl = false
plugin_extra_dependencies = []
plugin_extra_include_dirs = []
plugin_extra_build_flags = []
plugin_extra_link_flags = []
plugin_extra_format_specific_srcs = []

subdir(plugin)

plugin_extra_format_specific_srcs += files([
'../libs/juce-plugin/JucePluginMain.cpp',
'../libs/juce-plugin/JucePluginUtils.cpp',
])

link_with_plugin = [
lib_juce_legacy
]

if plugin_uses_drowaudio
link_with_plugin += lib_drowaudio
endif

if plugin_uses_juced
link_with_plugin += lib_juced
endif

if plugin_uses_opengl
if os_darwin
plugin_extra_link_flags += [
'-framework OpenGL',
]
elif os_windows
plugin_extra_dependencies += [
cc.find_library('opengl32'),
]
elif not linux_embed
plugin_extra_dependencies += [
dependency('gl')
]
endif
endif

plugin_lib = static_library(plugin_name + '_lib',
name_prefix: '',
sources: plugin_srcs,
include_directories: [
include_directories(plugin / 'source'),
plugin_include_dirs,
plugin_extra_include_dirs,
],
c_args: build_flags + build_flags_plugin + plugin_extra_build_flags,
cpp_args: build_flags_cpp + build_flags_plugin + plugin_extra_build_flags,
dependencies: dependencies_plugin + plugin_extra_dependencies,
pic: true,
install: false,
)

link_with_plugin += plugin_lib

if build_lv2
plugin_lv2_lib = shared_library(plugin_name + '_lv2',
name_prefix: '',
sources: plugin_extra_format_specific_srcs,
include_directories: [
include_directories(plugin / 'source'),
plugin_include_dirs,
plugin_extra_include_dirs,
],
c_args: build_flags + build_flags_plugin + build_flags_plugin_lv2 + plugin_extra_build_flags,
cpp_args: build_flags_cpp + build_flags_plugin + build_flags_plugin_lv2 + plugin_extra_build_flags,
link_args: link_flags + link_flags_plugin,
link_with: link_with_plugin,
)

plugin_lv2_dir = meson.current_build_dir() / plugin_name + '.lv2'

plugin_lv2_ttl = custom_target(plugin_name + '_lv2-ttl',
output: plugin_name + '.lv2',
input: plugin_lv2_lib,
command: [
'mkdir', '-p', plugin_lv2_dir, '&&',
'cd', plugin_lv2_dir, '&&',
'cp', plugin_lv2_lib.full_path(), plugin_lv2_dir / plugin_name + lib_suffix, '&&',
(meson.is_cross_build() ? 'wine' : 'env'), lv2_ttl_generator, '.' / plugin_name + lib_suffix,
],
install: true,
install_dir: lv2dir,
)
endif

if build_vst2
plugin_vst2_lib = shared_library(plugin_name,
name_prefix: '',
sources: plugin_extra_format_specific_srcs,
include_directories: [
include_directories(plugin / 'source'),
plugin_include_dirs,
plugin_extra_include_dirs,
],
c_args: build_flags + build_flags_plugin + build_flags_plugin_vst2 + plugin_extra_build_flags,
cpp_args: build_flags_cpp + build_flags_plugin + build_flags_plugin_vst2 + plugin_extra_build_flags,
link_args: link_flags + link_flags_plugin,
link_with: link_with_plugin,
install: true,
install_dir: vst2dir,
)
endif
endif
endif

plugin_lib = static_library(plugin_name + '_lib',
name_prefix: '',
sources: plugin_srcs,
include_directories: [
include_directories(plugin / 'source'),
plugin_include_dirs,
plugin_extra_include_dirs,
],
c_args: build_flags + build_flags_plugin + plugin_extra_build_flags,
cpp_args: build_flags_cpp + build_flags_plugin + plugin_extra_build_flags,
dependencies: dependencies_plugin + plugin_extra_dependencies,
pic: true,
install: false,
)

link_with_plugin += plugin_lib

if build_lv2
plugin_lv2_lib = shared_library(plugin_name + '_lv2',
name_prefix: '',
sources: plugin_extra_format_specific_srcs,
include_directories: [
include_directories(plugin / 'source'),
plugin_include_dirs,
plugin_extra_include_dirs,
],
c_args: build_flags + build_flags_plugin + build_flags_plugin_lv2 + plugin_extra_build_flags,
cpp_args: build_flags_cpp + build_flags_plugin + build_flags_plugin_lv2 + plugin_extra_build_flags,
link_args: link_flags + link_flags_plugin,
link_with: link_with_plugin,
)

plugin_lv2_dir = meson.current_build_dir() / plugin_name + '.lv2'

plugin_lv2_ttl = custom_target(plugin_name + '_lv2-ttl',
output: plugin_name + '.lv2',
input: plugin_lv2_lib,
command: [
'mkdir', '-p', plugin_lv2_dir, '&&',
'cd', plugin_lv2_dir, '&&',
'cp', plugin_lv2_lib.full_path(), plugin_lv2_dir / plugin_name + lib_suffix, '&&',
(meson.is_cross_build() ? 'wine' : 'env'), lv2_ttl_generator, '.' / plugin_name + lib_suffix,
],
install: true,
install_dir: lv2dir,
)
endif

if build_vst2
plugin_vst2_lib = shared_library(plugin_name,
name_prefix: '',
sources: plugin_extra_format_specific_srcs,
include_directories: [
include_directories(plugin / 'source'),
plugin_include_dirs,
plugin_extra_include_dirs,
],
c_args: build_flags + build_flags_plugin + build_flags_plugin_vst2 + plugin_extra_build_flags,
cpp_args: build_flags_cpp + build_flags_plugin + build_flags_plugin_vst2 + plugin_extra_build_flags,
link_args: link_flags + link_flags_plugin,
link_with: link_with_plugin,
install: true,
install_dir: vst2dir,
)
endif
endforeach
endif
endforeach

###############################################################################

Loading…
Cancel
Save