/
Build Source on Mac

Build Source on Mac

For some information about the quite new native Mac OS X Support, see Mac Client State. Link to blank page.

Pre Requirement

Don't forget to add MacPorts in your PATH (only needed for older macports installers):

echo 'export PATH=${PATH}:/opt/local/bin' >> ~/.profile 

Since Xcode 5, to be able to compile Ryzom Core, you'll need to type :

xcode-select --install 

If you plan to deploy Ryzom on different Mac OS X versions, I suggest you to set MACOSX_DEPLOYMENT_TARGET environment variable before compiling any dependencies :

export MACOSX_DEPLOYMENT_TARGET=10.6

Installing Dependencies

  • Run XCode once to accept the license agreement
  • Launch the Terminal application and execute the following command in it.
sudo port install mercurial p7zip boost cmake curl freetype jpeg libwww libxml2 lua zlib libpng python_select libogg libvorbis python26
sudo port select --set python python26
  • Install luabind, see Installing Luabind.
  • note: if you get string.h not found error in macOS 10.14 run this command:

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

Get the sources

See Getting Source.

Build

This section shows how to create a static Ryzom Core client built on Mac OS X. The resulting binary only depends on system libs, therefore can be moved easily to another Mac OS X machine. The given list of CMake options is just an example. For a complete list see: CMake Options. Building a Ryzom Core client that depends on NeL and Ryzom shared libraries is strongly discouraged.

cd code
mkdir build
cd build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TESTS=OFF -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_STATIC_EXTERNAL=ON ..
make
sudo make install

The install process created /Applications/ryzom_client.app for you.


To check which libraries are needed by your binary run:

otool -L bin/ryzom_client.app/Contents/MacOS/ryzom_client

You should only see libraries which reside in /usr/lib or /System/Library/Frameworks.

Universal binary

To create an universal binary for 32 and 64 bits Mac OS X versions, just append -DCMAKE_OSX_ARCHITECTURES="i386;x86_64" to CMake command line.

Data

You can append -DRYZOM_DATA_DIR=<Ryzom data path> to CMake command-line to copy your data into bundle.

Create Distribution Package

Use the application "packages.dmg" to create a pkg from the .app file you can download it at the bottom of the page. (http://s.sudre.free.fr/Software/Packages/about.html Note i could only get it working correctly in build and debug mode...)

Use the following command to create a compressed dmg for the pkg

hdiutil create ryzom_client.dmg -srcdir ryzom_client.app 

Screenshot

Related content

Installing Luabind
Installing Luabind
More like this
Kaetemi's Manuals
Kaetemi's Manuals
More like this
Build Source on Windows
Build Source on Windows
More like this
Projects using Ryzom Core
Projects using Ryzom Core
More like this
Build Source on Linux
Build Source on Linux
More like this
Roadmap Proposal
Roadmap Proposal
More like this