Symbolic links in Mac build folders?

I’m curious as to why building a Mac VST, VST3, AAX or AU places a symbolic link to the resulting binary in the build/Debug & Release folders?

I see in the Xcode Debug & Release settings places to set the output binary location (~/Library/Audio/Plug-Ins/…), which makes sense, but why do these symbolic links get generated? And where? I don’t see a Copy Phase in the Build Phases. Is there a way to stop this?

The main reason I ask, besides it seeming unnecessary, I have my development folders in a Dropbox, which is crazy useful for so many reasons, but Dropbox doesn’t like symbolic links that lead out of the Dropbox.

They get generated due to the following Xcode settings: INSTALL_PATH, DEPLOYMENT_LOCATION and DSTROOT.

That’s the point of using these Xcode settings. Xcode is building the binary in place in the final location, it is not copying/moving it afterwards. Without these settings the binary ends-up inside the build/ folder, so Xcode creates symlinks from the build/ folder to the actual location for consistency.

Oh, I see. It’s an Xcode thing and not as I expected, a Projucer thing. Thanks for clearing that up.

Now, I’ll have to figure out a way for it to not create the symbolic link. In the mean time, I’ve added something like this to the Xcode Post-build settings in Projucer:

rm -f build/Debug/MyPlugin.aaxplugin
rm -f build/Debug/MyPlugin.component
rm -f build/Debug/MyPlugin.vst
rm -f build/Debug/MyPlugin.vst3
rm -f build/Release/MyPlugin.aaxplugin
rm -f build/Release/MyPlugin.component
rm -f build/Release/MyPlugin.vst
rm -f build/Release/MyPlugin.vst3


Well… Projucer is the one adding these settings to the generated Xcode project, see

Using the Custom Xcode Flags field in Projucer (which overrides the existing Xcode settings), you should be able to control the behavior to what you really want. However, I don’t have a Mac to test this now, so I can’t try it out myself.