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.git
If 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 --recursive
Note that the components in submodules require additional software (e.g. API’s and drivers) to be installed before compilation.
-
Run the
update_python_packages
script:cd mworks/build ./update_python_packages
The 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.xcconfig
with the following contents:CODE_SIGN_IDENTITY = - CODE_SIGN_STYLE = Automatic
This will tell Xcode to use “ad hoc” code signing, which is suitable for running MWorks on your build machine.
-
Run the
build_mworks
script. 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_mworks
When prompted, enter your macOS account password. This is required to install items in the directories
/Library/Application Support
and/Library/Frameworks
. If desired, you can eliminate the need to enter your password by running the commandsudo visudo
and adding the following to yoursudoers
file:# 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.