Skip to content

Commit

Permalink
meson: start using subdirs
Browse files Browse the repository at this point in the history
- re-organizing code
  • Loading branch information
mfisher31 committed Aug 2, 2022
1 parent 71765c4 commit a8a42d8
Show file tree
Hide file tree
Showing 58 changed files with 27,793 additions and 27,741 deletions.
133 changes: 133 additions & 0 deletions libs/compat/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# JUCE
juce_modules = '''
juce_audio_basics
juce_audio_devices
juce_audio_formats
juce_audio_processors
juce_audio_utils
juce_core
juce_cryptography
juce_data_structures
juce_dsp juce_events
juce_graphics
juce_gui_basics
juce_gui_extra
juce_osc
kv_core
kv_engines
kv_gui
kv_models
'''.split()

juce_conf_data = configuration_data()

juce_ext = host_machine.system() == 'darwin' ? 'mm' : 'cpp'
juce_sources = []
juce_includes = include_directories (
'../JUCE/modules',
'../kv/modules',
'.'
)

foreach m : juce_modules
pat = 'include_@0@'.format (m)
pat = pat + '.@0@'
juce_file = pat.format (juce_ext)
if not fs.exists (juce_file)
juce_file = pat.format ('cpp')
endif
juce_sources += juce_file
juce_conf_data.set10 ('JUCE_MODULE_AVAILABLE_@0@'.format (m), true)
endforeach

if get_option ('debug')
juce_conf_data.set10 ('_DEBUG', true)
else
juce_conf_data.set10 ('NDEBUG', true)
endif

juce_conf_data.set10 ('JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED', true)
juce_conf_data.set10 ('JUCE_STANDALONE_APPLICATION', true)
juce_conf_data.set10 ('JUCE_DISPLAY_SPLASH_SCREEN', false)
juce_conf_data.set10 ('JUCE_MODAL_LOOPS_PERMITTED', true)
juce_conf_data.set10 ('JUCE_WEB_BROWSER', false)
juce_conf_data.set10 ('JUCE_ASIO', false)

juce_conf_data.set10 ('KV_DOCKING_WINDOWS', true)

vst2_includes = []
if get_option ('vst2sdk') == 'auto'
# noop
else
vst2_includes += include_directories (get_option ('vst2sdk'))
endif

aeffect_h_found = cpp.check_header ('pluginterfaces/vst2.x/aeffect.h',
include_directories : vst2_includes, required : false)
aeffectx_h_found = cpp.check_header ('pluginterfaces/vst2.x/aeffectx.h',
include_directories : vst2_includes, required : false)
vstfxstore_h_found = cpp.check_header ('pluginterfaces/vst2.x/vstfxstore.h',
include_directories : vst2_includes, required : false)
juce_conf_data.set10 ('JUCE_PLUGINHOST_VST', aeffect_h_found and aeffectx_h_found)

vst3_includes = include_directories ('../JUCE/modules/juce_audio_processors/format_types/VST3_SDK')
juce_conf_data.set10 ('JUCE_VST3_CAN_REPLACE_VST2', vstfxstore_h_found)
juce_conf_data.set10 ('JUCE_PLUGINHOST_VST3', true)
lv2_includes = include_directories (
'../JUCE/modules/juce_audio_processors/format_types/LV2_SDK',
'../JUCE/modules/juce_audio_processors/format_types/LV2_SDK/lv2',
'../JUCE/modules/juce_audio_processors/format_types/LV2_SDK/serd',
'../JUCE/modules/juce_audio_processors/format_types/LV2_SDK/sord',
'../JUCE/modules/juce_audio_processors/format_types/LV2_SDK/sord/src',
'../JUCE/modules/juce_audio_processors/format_types/LV2_SDK/lilv',
'../JUCE/modules/juce_audio_processors/format_types/LV2_SDK/lilv/src',
'../JUCE/modules/juce_audio_processors/format_types/LV2_SDK/sratom')
juce_sources += 'include_juce_audio_processors_lv2_libs.cpp'
juce_conf_data.set10 ('JUCE_PLUGINHOST_LV2', true)
juce_conf_data.set10 ('JUCE_PLUGINHOST_LADSPA', cpp.check_header ('ladspa.h'))

if host_machine.system() == 'linux'
alsa_dep = dependency ('alsa', required : false)
juce_conf_data.set10 ('JUCE_ALSA', alsa_dep.found())
deps += alsa_dep

deps += [
dependency ('freetype2', required : true),
dependency ('x11', required : true),
dependency ('xext', required : true),
dependency ('xrandr', required : true),
dependency ('xcomposite', required : true),
dependency ('xinerama', required : true),
dependency ('xcursor', required : true)
]
juce_conf_data.set10 ('JUCE_USE_XRANDR', true)
juce_conf_data.set10 ('JUCE_USE_XINERAMA', true)
juce_conf_data.set10 ('JUCE_USE_XSHM', true)
juce_conf_data.set10 ('JUCE_USE_XRENDER', true)
juce_conf_data.set10 ('JUCE_USE_XCURSOR', true)

curl_dep = dependency ('libcurl', required : false)
juce_conf_data.set10 ('JUCE_USE_CURL', curl_dep.found())
deps += curl_dep

deps += [
cpp.find_library ('dl', required : true),
cpp.find_library ('pthread', required : true)
]
elif host_machine.system() == 'darwin'
deps += dependency ('appleframeworks', modules : [
'accelerate', 'audiotoolbox', 'audiounit', 'coreaudio',
'coreaudiokit', 'coremidi', 'cocoa', 'carbon',
'discrecording', 'iokit', 'quartzcore', 'metal' ])
juce_conf_data.set10 ('JUCE_PLUGINHOST_AU', true)
endif

configure_file (output : 'juce_config.h',
configuration : juce_conf_data)

libelement_juce = static_library ('element_juce',
juce_sources,
include_directories : [ juce_includes, vst3_includes, vst2_includes, lv2_includes ],
gnu_symbol_visibility : 'hidden',
dependencies : deps,
install : false)
2 changes: 2 additions & 0 deletions libs/lua/meson.build
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@

lua_includes = include_directories ('.', 'src')
libelement_lua = static_library ('element_lua', '''
src/lauxlib.c
src/liolib.c
Expand Down Expand Up @@ -32,6 +33,7 @@ libelement_lua = static_library ('element_lua', '''
src/llex.c
src/ltm.c
src/ldo.c'''.split(),
include_directories : lua_includes,
install : false,
gnu_symbol_visibility : 'default'
)
128 changes: 64 additions & 64 deletions libs/lua/sol/config.hpp → libs/sol/sol/config.hpp
Original file line number Diff line number Diff line change
@@ -1,64 +1,64 @@
// The MIT License (MIT)

// Copyright (c) 2013-2020 Rapptz, ThePhD and contributors

// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

// This file was generated with a script.
// Generated 2020-10-03 21:34:25.034794 UTC
// This header was generated with sol v3.2.1 (revision 48eea7b5)
// https://github.com/ThePhD/sol2

#ifndef SOL_SINGLE_CONFIG_HPP
#define SOL_SINGLE_CONFIG_HPP

// #define SOL_EXCEPTIONS_SAFE_PROPAGATION 1
// beginning of sol/config.hpp

/* Base, empty configuration file!
To override, place a file in your include paths of the form:
. (your include path here)
| sol (directory, or equivalent)
| config.hpp (your config.hpp file)
So that when sol2 includes the file
#include <sol/config.hpp>
it gives you the configuration values you desire. Configuration values can be
seen in the safety.rst of the doc/src, or at
https://sol2.readthedocs.io/en/latest/safety.html ! You can also pass them through
the build system, or the command line options of your compiler.
*/

#include <limits>

#define SOL_IN_DEBUG_DETECTED 0
#define SOL_SAFE_USERTYPE 0
#define SOL_SAFE_REFERENCES 0
#define SOL_SAFE_FUNCTION_CALLS 0

#define SOL_USING_CXX_LUA 0
#define SOL_EXCEPTIONS_SAFE_PROPAGATION 0

// end of sol/config.hpp

#endif // SOL_SINGLE_CONFIG_HPP
// The MIT License (MIT)

// Copyright (c) 2013-2020 Rapptz, ThePhD and contributors

// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

// This file was generated with a script.
// Generated 2020-10-03 21:34:25.034794 UTC
// This header was generated with sol v3.2.1 (revision 48eea7b5)
// https://github.com/ThePhD/sol2

#ifndef SOL_SINGLE_CONFIG_HPP
#define SOL_SINGLE_CONFIG_HPP

// #define SOL_EXCEPTIONS_SAFE_PROPAGATION 1
// beginning of sol/config.hpp

/* Base, empty configuration file!
To override, place a file in your include paths of the form:
. (your include path here)
| sol (directory, or equivalent)
| config.hpp (your config.hpp file)
So that when sol2 includes the file
#include <sol/config.hpp>
it gives you the configuration values you desire. Configuration values can be
seen in the safety.rst of the doc/src, or at
https://sol2.readthedocs.io/en/latest/safety.html ! You can also pass them through
the build system, or the command line options of your compiler.
*/

#include <limits>

#define SOL_IN_DEBUG_DETECTED 0
#define SOL_SAFE_USERTYPE 0
#define SOL_SAFE_REFERENCES 0
#define SOL_SAFE_FUNCTION_CALLS 0

#define SOL_USING_CXX_LUA 0
#define SOL_EXCEPTIONS_SAFE_PROPAGATION 0

// end of sol/config.hpp

#endif // SOL_SINGLE_CONFIG_HPP
Loading

0 comments on commit a8a42d8

Please sign in to comment.