BR: Plugins don't build on Linux if they have a space in their name

Steps to reproduce:

  • Open ProJucer
  • Create plugin named “Test A”
  • Build

Fails to build:

Linking Test A - VST3
Cannot create output file: build/Test\ A.vst3/Contents/Resources/moduleinfo.json
Makefile:209: recipe for target 'build/Test A.vst3/Contents/x86_64-linux/Test A.so' failed
make: *** [build/Test A.vst3/Contents/x86_64-linux/Test A.so] Error 1

Fix:

                out << "\t-$(V_AT)mkdir -p $(JUCE_OUTDIR)/$(JUCE_VST3DIR)/Contents/Resources" << newLine
                    << "\t-$(V_AT)rm -f $(JUCE_OUTDIR)/$(JUCE_VST3DIR)/Contents/moduleinfo.json" << newLine
                    << "\t$(V_AT) $(JUCE_OUTDIR)/$(JUCE_TARGET_VST3_MANIFEST_HELPER) "
                       "-create "
                       "-version " << owner.project.getVersionString().quoted() << " "
                       "-path \"$(JUCE_OUTDIR)/$(JUCE_VST3DIR)\" "
                       "-output \"$(JUCE_OUTDIR)/$(JUCE_VST3DIR)/Contents/Resources/moduleinfo.json\"" << newLine
                    << "\t-$(V_AT)[ ! \"$(JUCE_VST3DESTDIR)\" ] || (mkdir -p $(JUCE_VST3DESTDIR) && cp -R $(JUCE_COPYCMD_VST3))" << newLine;

Every time JUCE_OUTDIR is used, the string needs to be quoted.

Can you please merge this pull request: Add quotes to Projucer generated Makefiles by FigBug · Pull Request #1246 · juce-framework/JUCE · GitHub

Building plugins on Linux is currently broken.

Thanks for reporting, that’s fixed here:

1 Like