Up until now I’ve been working on both a Linux (Ubuntu) laptop and a Windows desktop machine. I compile and test my plugins for both linux and windows, and rely on very helpful others in the community to compile for Mac, so that people can get my plugins before they land in the plugin manager.
Going forward windows may not be a practical option for me, so I was wondering if anyone is successfully cross-compiling windows and mac versions on a linux installation. If so, I would appreciate some pointers.
Similar to Andrew’s setup I can cross compile on Linux to Windows and Mac. Windows is no problem at all with mingw. Mac is a little more involved to set up the osxcross tool chain and technically requires you to have a Mac and access to the SDKs (licensing).
Another approach: use a CI system that can compile for other archs. This thread is how I do it, and it has details on doing it with Azure builds as well.
Anyone have a working Dockerfile for OS X cross-compilation they feel like sharing? It looks like the obvious published osxcross images on Dockerhub are pretty old (Debian Jessie, 10.8.)
I’ve got a GitHub Actions setup that, on every merge to master, builds Windows and Linux and posts them on the GitHub releases page, in case that’s helpful for anyone. If you’re in the GitHub Actions beta you can probably reuse this workflow with little to no modifications. https://github.com/Dewb/monome-rack/tree/master/.github
I’ve just copied the actions from @xaviershay and mangled them for my plugin. They seem to be working including OSX. The only change I had to make to the OSX build was to include rsync in the list of packages in the Dockerfile.