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

Switch to statically-linked cmake build #32

Merged
merged 23 commits into from
Jan 3, 2022
Merged

Switch to statically-linked cmake build #32

merged 23 commits into from
Jan 3, 2022

Conversation

Birch-san
Copy link
Owner

@Birch-san Birch-san commented Dec 30, 2021

Remake build system in cmake, for a few reasons:

  • make it easier to build for a variety of OSes and architectures
    • our project templates have diverged a lot from the Projucer template
  • get a recent release
    • to support M1 Macs
    • update Fluidsynth (to fix the sustain error)
  • make it easier to drive builds via CI
  • make it easier to support your favourite IDE
  • support static linking (for easier distribution)

Current status:

  • AU plugin builds, but creates a horrible noise even when idle
    • my first guess is that a double-precision audio buffer is being sent to the float overload of processBlock; need to check this in debugger
  • VST2 and VST3 plugins build
    • I've not been able to test the VST2 plugin inside JUCE's Audio Plugin Host
      • (probably was built without VST2 SDK)
    • the VST3 plugin works perfectly inside JUCE's Audio Plugin Host

image

- VST2 and VST3 fail to load in FL Studio

vst-error

  • standalone application builds; works perfectly

image

VST2 and VST3 plugins for M1 Mac available here

…he brew x86_64 and arm64 builds together with lipo; they're not necessarily built from the same commit or with the same flags). get single-arch linking against static fluidsynth (albeit not linking against its dependencies).
…VST3 generated (though FL Studio says it loads with "error"). Standalone fine.
…ert::convert(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char16_t*)
…s don't begin as universal, so instead let's smash together two sets of single-arch libraries). this is kinda non-optional, because FL Studio's VST verification currently only considers x86_64 VSTs to be "valid".
…x safe (since we request an entitlement), but seems to open fine in Garageband (not sure if Garageband is running in lower security mode though).
… file. avoid namespace clashes between CF's Point and juce::Point.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant