Most users, including those developing custom plugins, do not need to compile MWorks themselves. However, for developers working on MWorks’ internals or users interested in modifying core components, the following steps are the quickest route to building all of MWorks from source:
-
Install Xcode. After installation, launch the application once so that it can install additional components as required.
-
Check out the source code:
git clone https://github.com/mworks/mworks.gitIf you want to build everything that goes in to the standard MWorks distribution, check out the submodules as well:
cd mworks git submodule update --init --recursiveNote that the components in submodules require additional software (e.g. API’s and drivers) to be installed before compilation.
-
Run the
update_python_packagesscript:cd mworks/build ./update_python_packagesThe script will alert you if the required Python version is not installed. If so, follow the provided instructions, then run the script again.
-
Configure code signing. The simplest way to do this is to create the file
mworks/build/xcode/macOS_CodeSigning.xcconfigwith the following contents:CODE_SIGN_IDENTITY = - CODE_SIGN_STYLE = AutomaticThis will tell Xcode to use “ad hoc” code signing, which is suitable for running MWorks on your build machine.
-
Run the
build_mworksscript. This will download required supporting libraries and build and install all MWorks components, including applications, frameworks, plugins, scripting tools, and documentation:cd mworks/build ./build_mworksWhen prompted, enter your macOS account password. This is required to install items in the directories
/Library/Application Supportand/Library/Frameworks. If desired, you can eliminate the need to enter your password by running the commandsudo visudoand adding the following to yoursudoersfile:# Allow admin group to prepare for an MWorks build without a password %admin ALL = NOPASSWD: \ /bin/rm -Rf /Applications/MWClient.app, \ /bin/rm -Rf /Applications/MWServer.app, \ /bin/rm -Rf /Library/Application\ Support/MWorks, \ /bin/rm -Rf /Library/Frameworks/MWorksCocoa.framework, \ /bin/rm -Rf /Library/Frameworks/MWorksCore.framework, \ /bin/rm -Rf /Library/Frameworks/MWorksPython.framework, \ /bin/rm -Rf /Library/Frameworks/MWorksSwift.framework, \ /bin/mkdir -m 775 /Library/Application\ Support/MWorks, \ /bin/ln -s /Library/Application\ Support/MWorks/Frameworks/MWorksCocoa.framework /Library/Frameworks/MWorksCocoa.framework, \ /bin/ln -s /Library/Application\ Support/MWorks/Frameworks/MWorksCore.framework /Library/Frameworks/MWorksCore.framework, \ /bin/ln -s /Library/Application\ Support/MWorks/Frameworks/MWorksPython.framework /Library/Frameworks/MWorksPython.framework, \ /bin/ln -s /Library/Application\ Support/MWorks/Frameworks/MWorksSwift.framework /Library/Frameworks/MWorksSwift.framework
Once these steps are complete, you can modify and build individual components directly via their Xcode projects.