Building the Linux Client & Server
Create a Ryzom project directory and a ryzom_env.sh script within it.
#!/bin/bash
export RYZOM_ROOT=$(dirname $(readlink -f $0))
Everything related to Ryzom will be contained within this directory.
Dependencies
The following additional packages will be needed:
- mercurial libcurl4-openssl-dev libluabind-dev libfreetype6-dev libx11-dev libgl1-mesa-dev libxxf86vm-dev libxrandr-dev libxrender-dev libopenal-dev libogg-dev libvorbis-dev libxml2-dev cmake build-essential libpng12-dev libjpeg62-dev rrdtool libmysqlclient15-dev bison libxmu-dev autoconf automake
Available CMake definitions can be reviewed using “ccmake ../ryzomcore/code”
Building
cd ${RYZOM_ROOT}
hg clone https://bitbucket.org/BWGaryP/ryzomcore
cd ryzomcore && hg update -c compatibility-develop
Dynamic Client
cd ${RYZOM_ROOT} && mkdir build_client && cd build_client
cmake -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TOOLS=OFF -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON ../ryzomcore/code
make -j8
A static client may require a custom built libcurl.
Static Server
cd ${RYZOM_ROOT}/ryzomcore/ && mkdir build && cd build
cmake -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_NEL_TOOLS=OFF -DWITH_RYZOM_CLIENT=OFF -WITH_RYZOM_TOOLS=OFF -DWITH_3D=off -DWITH_SOUND=OFF -DWITH_STATIC=ON -DWITH_DRIVER_OPENGL=OFF -DWITH_DRIVER_OPENAL=OFF -DWITH_QT=OFF -DWITH_GUI=OFF ../code/
Note: The server is built using a build directory within ryzomcore due to a few hard-coded paths to the server binaries.
Tools
cd ${RYZOM_ROOT} && mkdir build_tools && cd build_tools
cmake -DWITH_NEL_TESTS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_RYZOM_CLIENT=OFF -WITH_RYZOM_TOOLS=ON -DWITH_RYZOM_SERVER=OFF -DWITH_STATIC=ON -DCMAKE_PREFIX_PATH=${RYZOM_ROOT}/local ../ryzomcore/code/
Extra Libraries
libsquish is needed to build a couple of tools such as tga_2_dds, panoply_maker, hls_bank_maker… These tools are needed by the 2_build.py build script for rebuilding data. This is not available in the Debian Jessie package repository. Use the version available in “packaging” branch of Kervala’s packaging repo.
cd ${RYZOM_ROOT}
hg clone http://hg.kervala.net/packaging
hg clone http://hg.kervala.net/cmake
export CMAKE_MODULE_PATH=$(pwd)/cmake/modules
cd packaging/squish
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=${RYZOM_ROOT}/local ..
make
make install
There may be an error about needing C enabled due to try_compile. If so, add C to the existing CXX in the CMakeFiles.txt Project line for squish.
To allow cmake to find squish when building the tools, configure with -DCMAKE_PREFIX_PATH=${RYZOM_ROOT}/local
Continue on to Building Windows Client/Tools