This thing is a pain in the arse. I’ve lost many hours of my life to it now!
It seems to be failing, but then cmake immediately deletes the binary so it’s impossible to re-run it to find out why. And in some cases it doesn’t seem to print any error messages.
Sample useless output with full debugging is here:
./juce_vst3_helper -create -version 0.99 -path "/Volumes/Build/Jenkins/workspace/XBassEnhancer OSX/cmake.build/BassEnhancer_artefacts/Release/VST3/BassDrive.vst3" -output "/Volumes/Build/Jenkins/workspace/XBassEnhancer OSX/cmake.build/BassEnhancer_artefacts/Release/VST3/BassDrive.vst3/Contents/Resources/moduleinfo.json"
Live child 0x600001230050 (BassEnhancer_artefacts/Release/VST3/BassDrive.vst3/Contents/MacOS/BassDrive) PID 37475
Reaping losing child 0x600001230050 PID 37475
make[2]: *** [BassEnhancer_artefacts/Release/VST3/BassDrive.vst3/Contents/MacOS/BassDrive] Killed: 9
make[2]: *** Deleting file `BassEnhancer_artefacts/Release/VST3/BassDrive.vst3/Contents/MacOS/BassDrive'```
Any chance error reporting could be improved.
Also - anyone know how to stop make deleting the thing if it fails will earn a beer.
Update
To stop it deleteing the file look for the .DELETE_ON_ERROR: line in the cmake generated make files and remove that.
Here’s the fault with my vst3 helper now!
jenkins@astro cmake.build % ./juce_vst3_helper -create -version 0.99 -path "/Volumes/Build/Jenkins/workspace/XBassEnhancer OSX/cmake.build/BassEnhancer_artefacts/Release/VST3/BassDrive.vst3" -output "/Volumes/Build/Jenkins/workspace/XBassEnhancer OSX/cmake.build/BassEnhancer_artefacts/Release/VST3/BassDrive.vst3/Contents/Resources/moduleinfo.json"
zsh: killed ./juce_vst3_helper -create -version 0.99 -path -output
jenkins@astro cmake.build %
Yummy! Why?! Error 137 apparently.
Right, found this eventually:
------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: juce_vst3_helper [62548]
Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGKILL (Code Signature Invalid))
Exception Codes: UNKNOWN_0x32 at 0x0000000103d68000
Exception Codes: 0x0000000000000032, 0x0000000103d68000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace CODESIGNING, Code 2
So something changed, I think, in a recent JUCE and that’s broken our build system. I’ll try and squeeze a codesigning step in here as wel, but we didn’t previously have one. Maybe we can do this manifest step outside of cmake where we normally do our codesigning.