Building SV v3.1 on macOS

We bundle miscellaneous dependent library binaries into the sv-dependency-builds subrepo, and so do not use configure on macOS. (It may be possible to do so, using Homebrew packages, but it's untested.)

We do require Qt5 be installed externally, either through Homebrew or using the Qt installer. We also need an SML compiler for the Repoint dependency manager.

Which SV branch to use

Use the default branch of the SV Mercurial repo unless you have a particular reason to know otherwise.

Build process

  • Check out the correct branch (probably default as described above)
  • Install Qt5, either through Homebrew or using the Qt installer
  • Install an SML compiler, e.g. with brew install polyml
  • In the SV repo, run ./repoint install to pull in the subrepos
  • Run qmake -r (you may have to specify the full path for Qt5 qmake)
  • Run make

This builds a Sonic, but at this point it still contains references to the external Qt libraries so it can't usefully be distributed. The script deploy/osx/ fixes these and packages up a .dmg file. (It also code-signs it, which will fail if you don't have the signing keys. Even so, the .app directory and pre-packaging volume should be left in a working state.)