Jump to content
Developer Wiki and Function Reference Links ×

What I learned compiling for Apple Silicone


JBenghiat

Recommended Posts

I have yet to purchase a machine that has the new chips, so when one of my users reported that plug-ins weren't loading, getting the build sorted took some trial and error. Here is what I discovered:

 

*Code Signing*

I'm still not 100% certain if code signing is required, but I do know that the wrong signing settings can cause plug-ins not to load. Using the Apple Development signing certificate does seem to work.

Code signing is also picky about finder attributes making their way into the bundle, and the current build-vwr step does not currently strip them out. While there is a command you can add to the script for this, an even easier solution is a new option in Build Settings to Copy Bundle Resources. Simply select your .vwr folder, and the build process will take care of properly moving them into the plug-in. Then you can remove the build-vwr script entirely.

 

*SDK Version*

Somewhere during the beta or SP process, the .xcconfig files in the SDK changed. Make sure you're using a later version (at least SP0 release, but possible SP1 is needed), as some of the settings configure the compiler to build for both intel and silicone architecture.

 

*Check Customized Build Settings*

image.thumb.png.f8c9d78b6106ad57ab29a8da454fa194.png

Check your customized build settings and clear out any custom settings referring to the OS or SDK. I had a few overrides that were preventing things from compiling correctly.

 

*Update the Deployment Target to 10.13*

Previously, it was 10.12

 

*Set the Scheme to Any Mac*

image.png.3947b19820f7e4e56fadf4ba8eb84840.png

 

This was one of the big ones. Under the current scheme, change the option from My Mac to Any Mac(Apple Silicon, Intel). If Any Mac does not have both options, go back to your Build Settings, and check for incorrect values.

 

*Clear out your Frameworks*

In the Project Navigator, view the Frameworks, and delete any copies of VWMM.framework. Next in the Target>General settings, add a new framework, and navigate to the v27 VWMM. Set embed to "do not embed". For me, simply adding the latest framework here didn't work. I had to delete the existing frameworks and add the new one.

 

At this point, compilation was successful, as was loading on the Apple Silicon machine. I assume that if you're compiling on a Silicone system, you need to take similar steps to endure that the plug-in library will run on an intel system.

 

 

  • Like 4
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...