Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Element Plugins With Meson #552

Merged
merged 36 commits into from
Aug 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
2af642c
meson: linux: build VST and VST3 plugins.
mfisher31 Aug 20, 2022
1916833
vscode: update win32 include path
mfisher31 Aug 21, 2022
e1c712f
meson: better windows vst/vst3 plugin build.
mfisher31 Aug 21, 2022
a1cf622
meson: update linux vst3 bindir
mfisher31 Aug 21, 2022
d9fd91c
meson: add dylib name suffix (osx vst3)
mfisher31 Aug 22, 2022
d210442
Remove unused script
mfisher31 Aug 22, 2022
0a7ff89
meson: osx: begin packaging VST/VST3 plugins
mfisher31 Aug 22, 2022
127c595
meson: restructure plugins dir
mfisher31 Aug 22, 2022
c1058e2
vscode: osx: include path updated
mfisher31 Aug 22, 2022
f9909a7
meson: osx: continue structuring for plugins
mfisher31 Aug 22, 2022
8072e4d
meson: bundle assembly updates
mfisher31 Aug 22, 2022
3767ae1
meson: fix linux vst builds
mfisher31 Aug 22, 2022
c0d7778
vscode: update paths
mfisher31 Aug 22, 2022
2fd67bf
nsis: tidy deployment scripts
mfisher31 Aug 22, 2022
dc2a58e
nsis: quote call to tempinstaller.exe
mfisher31 Aug 22, 2022
34a3098
Merge branch 'feature/meson-plugins' of github.com:mfisher31/Element …
mfisher31 Aug 22, 2022
8108f43
vscode: update linux settings
mfisher31 Aug 23, 2022
3833a26
Update compile commands
mfisher31 Aug 23, 2022
25a6988
plugins: initialize on message thread.
mfisher31 Aug 24, 2022
c363da1
Update meson windows nsis
mfisher31 Aug 24, 2022
13ab530
refactor plugins file names
mfisher31 Aug 24, 2022
e6bdd80
meson: working vst/vst3 plugins
mfisher31 Aug 24, 2022
d47f05d
meson: use bundle extension in vst plugins mac
mfisher31 Aug 24, 2022
37e17e6
Update vscode osx
mfisher31 Aug 24, 2022
1a735f2
meson: AU/VST/VST3 osx builds
mfisher31 Aug 24, 2022
7f26e24
Add entitlement files
mfisher31 Aug 24, 2022
f473645
meson: update plugin bundle naming
mfisher31 Aug 24, 2022
c40800a
nsis: use new bundle / plugin file names
mfisher31 Aug 24, 2022
fc10227
meson: files extesion fix in osx vst2 plugins
mfisher31 Aug 25, 2022
914fe67
appbundle.py: support plugin bundles. add no-clean option
mfisher31 Aug 25, 2022
cedfe56
osx: add installer project
mfisher31 Aug 25, 2022
d1856cd
osx: add installer helper script
mfisher31 Aug 25, 2022
be92cd9
Create DMG
mfisher31 Aug 25, 2022
a9799ac
Update osx installer output name
mfisher31 Aug 25, 2022
b140be6
makepkg.sh: add method to codesign products and installer
mfisher31 Aug 25, 2022
a4e48e7
makepkg.sh: conditional signing args
mfisher31 Aug 25, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 14 additions & 76 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,77 +3,13 @@
"configurations": [
{
"name": "OSX",
"includePath": [
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include",
"/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7",
"/opt/kushview/include",
"/usr/local/include",
"/usr/local/Cellar/jack/0.125.0_3/include",
"${workspaceRoot}/libs/JUCE/modules",
"${workspaceRoot}/libs/kv/modules",
"${workspaceRoot}/libs/jlv2/modules",
"${workspaceRoot}/libs/compat",
"${workspaceRoot}/libs/lua",
"${workspaceRoot}/libs/lua/src",
"${workspaceRoot}/src",
"${workspaceRoot}/tests"
],
"defines": [
"JUCE_PLUGINHOST_VST=1",
"JLV2_PLUGINHOST_LV2=1",
"VSCODE=1",
"EL_DOCKING=1",
"KV_DOCKING_WINDOWS=1",
"KV_JACK_AUDIO=1",
"HAVE_PYTHON=1",
"EL_USE_LOCAL_AUTH=1",
"EL_PRO=1"
],
"forcedInclude": [
"${workspaceRoot}/.vscode/vscode.h"
],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include",
"/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7",
"/usr/local/include",
"/usr/local/Cellar/jack/0.125.0_3/include",
"${workspaceRoot}/build/include/*",
"${workspaceRoot}/libs/element/src/*",
"${workspaceRoot}/libs/element/include/*",
"${workspaceRoot}/libs/lua/*",
"${workspaceRoot}/libs/JUCE/modules/*",
"${workspaceRoot}/libs/kv/modules/*",
"${workspaceRoot}/libs/compat/*",
"${workspaceRoot}/src/*",
"${workspaceRoot}/test/*"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"macFrameworkPath": [
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++17"
},
{
"name": "OSX Generic",
"intelliSenseMode": "${default}",
"intelliSenseMode": "macos-clang-x64",
"cStandard": "c11",
"cppStandard": "c++17",
"defines": [
"JUCE_PLUGINHOST_VST=1",
"JLV2_PLUGINHOST_LV2=1",
"VSCODE=1",
"JUCE_PLUGINHOST_VST3=1",
"JUCE_PLUGINHOST_AU=1",
"EL_DOCKING=1",
"KV_DOCKING_WINDOWS=1",
"KV_JACK_AUDIO=1",
Expand All @@ -85,18 +21,19 @@
"${workspaceRoot}/.vscode/vscode.h"
],
"includePath": [
"${workspaceRoot}/build/include/*",
"${workspaceRoot}/libs/element/src/*",
"${workspaceRoot}/libs/element/include/*",
"${workspaceRoot}/build/libs/compat/*",
"${workspaceRoot}/libs/lua/*",
"${workspaceRoot}/libs/JUCE/modules/*",
"${workspaceRoot}/libs/kv/modules/*",
"${workspaceRoot}/libs/compat/*",
"${workspaceRoot}/src/*",
"${workspaceRoot}/test/*",
"/opt/kushview/include/*",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
]
],
"compileCommands": "${workspaceFolder}/build/compile_commands.json"
},
{
"name": "Linux",
Expand All @@ -108,15 +45,15 @@
"/usr/include/serd-0/*",
"/usr/include/sord-0/*",
"/usr/include/sratom-0/*",
"${workspaceFolder}/build/libs/compat/*",
"${workspaceFolder}/libs/lua/src/*",
"${workspaceFolder}/libs/sol/*",
"${workspaceFolder}/libs/JUCE/modules/*",
"${workspaceFolder}/libs/kv/modules/*",
"${workspaceFolder}/libs/compat/*",
"${workspaceFolder}/include/*",
"${workspaceFolder}/src/*",
"${workspaceFolder}/test/*",
"${workspaceFolder}/build-native/libs/compat/*"
"${workspaceFolder}/test/*"
],
"defines": [
"LUA_USE_READLINE=1",
Expand All @@ -134,7 +71,7 @@
},
"cStandard": "c11",
"cppStandard": "c++17",
"compileCommands": "${workspaceFolder}/build-native/compile_commands.json"
"compileCommands": "${workspaceFolder}/build/compile_commands.json"
},
{
"name": "Win32",
Expand All @@ -146,7 +83,8 @@
"${workspaceFolder}/libs/lua/src/*",
"${workspaceFolder}/include/*",
"${workspaceFolder}/src/*",
"${workspaceFolder}/test/*"
"${workspaceFolder}/test/*",
"${workspaceFolder}/build/libs/compat/*"
],
"defines": [
"_DEBUG",
Expand All @@ -159,7 +97,7 @@
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64",
"compileCommands": "build-native/compile_commands.json"
"compileCommands": "build/compile_commands.json"
}
]
}
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
"type": "cppdbg",
"request": "launch",
"args": [],
"program": "${workspaceRoot}/build-native/element",
"cwd": "${workspaceFolder}/build-native",
"program": "${workspaceRoot}/build/element",
"cwd": "${workspaceFolder}/build",
"environment": [
{ "name": "LD_LIBRARY_PATH", "value": "${workspaceRoot}/build/lib" },
{ "name": "LUA_PATH", "value": "${workspaceRoot}/libs/lua/?.lua" },
Expand Down
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,5 +93,6 @@
"typeinfo": "cpp",
"bit": "cpp"
},
"C_Cpp.intelliSenseMemoryLimit": 1024
"C_Cpp.intelliSenseMemoryLimit": 1024,
"mesonbuild.buildFolder": "build"
}
114 changes: 2 additions & 112 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
"version": "2.0.0",
"tasks": [
{
"label": "Waf Build",
"label": "Build",
"type": "shell",
"command": "python waf build",
"command": "meson compile -C build",
"group": {
"kind": "build",
"isDefault": true
Expand All @@ -26,116 +26,6 @@
"message": 5
}
}
},
{
"label": "Waf Check",
"type": "shell",
"command": "python waf check"
},
{
"label": "Waf Clean",
"type": "shell",
"command": "python waf clean"
},
{
"label": "Waf Rebuild",
"type": "shell",
"command": "python",
"args": [
"waf",
"clean",
"build"
],
"problemMatcher": []
},
{
"label": "Waf Docs",
"type": "shell",
"command": "python",
"args": [
"waf",
"docs"
],
"problemMatcher": []
},
{
"label": "Waf Configure (no jack, no lua)",
"type": "shell",
"command": "python",
"args": [
"waf",
"configure",
"--test",
"--without-jack",
"--without-lua",
"--debug"
],
"options": {
"env": {
"CXXFLAGS": "-I/usr/local/include -I/opt/kushview/include -I/opt/kushview/vstsdk2.4",
"CC": "ccache clang",
"CXX": "ccache clang++"
}
},
"problemMatcher": []
},
{
"label": "Waf Configure (no jack)",
"type": "shell",
"command": "python",
"args": [
"waf",
"configure",
"--test",
"--without-jack",
"--debug"
],
"options": {
"env": {
"CXXFLAGS": "-I/usr/local/include -I/opt/kushview/include -I/opt/kushview/vstsdk2.4",
"CC": "ccache clang",
"CXX": "ccache clang++"
}
},
"problemMatcher": []
},
{
"label": "Waf Configure",
"type": "shell",
"command": "python",
"args": [
"waf",
"configure",
"--test",
"--debug"
],
"options": {
"env": {
"CXXFLAGS": "-I/usr/local/include -I/opt/kushview/include -I/opt/kushview/vstsdk2.4",
"CC": "ccache clang",
"CXX": "ccache clang++"
}
},
"problemMatcher": []
},
{
"label": "Waf Configure (workspaces)",
"type": "shell",
"command": "python",
"args": [
"waf",
"configure",
"--debug",
"--enable-docking"
],
"options": {
"env": {
"CXXFLAGS": "-I/opt/kushview/include -I/opt/kushview/vstsdk2.4",
"CC": "ccache clang",
"CXX": "ccache clang++"
}
},
"problemMatcher": []
}
]
}
8 changes: 4 additions & 4 deletions libs/compat/JucePluginDefines.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
// Audio plugin settings..

#ifndef JucePlugin_Build_VST
#define JucePlugin_Build_VST 1
#define JucePlugin_Build_VST 0
#endif
#ifndef JucePlugin_Build_VST3
#define JucePlugin_Build_VST3 1
#define JucePlugin_Build_VST3 0
#endif
#ifndef JucePlugin_Build_AU
#define JucePlugin_Build_AU 1
#define JucePlugin_Build_AU 0
#endif
#ifndef JucePlugin_Build_AUv3
#define JucePlugin_Build_AUv3 0
Expand All @@ -26,7 +26,7 @@
#define JucePlugin_Build_RTAS 0
#endif
#ifndef JucePlugin_Build_AAX
#define JucePlugin_Build_AAX 1
#define JucePlugin_Build_AAX 0
#endif
#ifndef JucePlugin_Build_Standalone
#define JucePlugin_Build_Standalone 0
Expand Down
9 changes: 9 additions & 0 deletions libs/compat/include_juce_audio_plugin_client_AU.r
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/*

IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!

*/

#include "juce_config.hsss"
#include <juce_audio_plugin_client_AU.r>
10 changes: 10 additions & 0 deletions libs/compat/include_juce_audio_plugin_client_AU_1.mm
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/*

IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!

*/

#include "juce_config.h"
#include "pluginconfig.h"
#include <juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm>
10 changes: 10 additions & 0 deletions libs/compat/include_juce_audio_plugin_client_AU_2.mm
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/*

IMPORTANT! This file is auto-generated each time you save your
project - if you alter its contents, your changes may be overwritten!

*/

#include "juce_config.h"
#include "pluginconfig.h"
#include <juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm>
2 changes: 1 addition & 1 deletion libs/compat/include_juce_audio_plugin_client_VST2.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

#include "./AppConfig.h"
#include "juce_config.h"
#include "./JucePluginDefines.h"
#include <juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp>
4 changes: 2 additions & 2 deletions libs/compat/include_juce_audio_plugin_client_VST3.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

#include "AppConfig.h"
#include "../tools/jucer/Element/JuceLibraryCode/JucePluginDefines.h"
#include "juce_config.h"
#include "./JucePluginDefines.h"
#include <juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp>
4 changes: 2 additions & 2 deletions libs/compat/include_juce_audio_plugin_client_utils.cpp
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#include "AppConfig.h"
#include "JucePluginDefines.h"
#include "juce_config.h"
#include "pluginconfig.h"
#include <juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp>
2 changes: 2 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ element_app = executable ('element', element_app_sources,
link_args : element_app_link_args,
link_with : [ libelement ])

subdir ('src/plugins')

if host_machine.system() == 'linux'
subdir ('tools/lindeploy')
elif host_machine.system() == 'darwin'
Expand Down
2 changes: 1 addition & 1 deletion scripts/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ scripts_install_dir = get_option('datadir') / 'element/scripts'
if host_machine.system() == 'windows'
scripts_install_dir = get_option('bindir') / 'scripts'
elif host_machine.system() == 'darwin'
scripts_install_dir = 'Contents/Resources/Scripts'
scripts_install_dir = 'Element.app/Contents/Resources/scripts'
endif

install_data (
Expand Down
Loading