|
|
@@ -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 |
|
|
|
|
|
|
|
############################################################################### |