X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=BUILDING.md;h=0b110cb9f64bd9a7cfa6f2bc349d8ef8c4462476;hb=2f86030aad68031072b98be48110a24cb544b053;hp=d253f990c1794cb626625906697cc74d281585f9;hpb=bca9bcffd12548954d464a7548c88190d51cee10;p=dragonblocks_alpha.git diff --git a/BUILDING.md b/BUILDING.md index d253f99..0b110cb 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -1,42 +1,48 @@ # Building instructions -GNU make is used for compiling. The code and the Makefile are located in the src/ directory. - -## Dependencies -To build anything you need gcc and GNU make. The ZLib development library is needed as well. +CMake is used for compiling. Make sure to clone the repository recursively: ```bash -sudo apt install build-essential make zlib1g-dev +git clone --recurse-submodules https://github.com/dragonblocks/dragonblocks_alpha.git ``` +## Dependencies +To build anything you need CMake. The ZLib development library is needed as well. The development versions of OpenGL, GLFW3, GLEW and Freetype are required to build the client. +For building the server the SQLite3 development library is required. + + +Ubuntu / Debian: ```bash -sudo apt install libgl1-mesa-dev libglfw3-dev libglew-dev libfreetype-dev +sudo apt install build-essential cmake zlib1g-dev libgl1-mesa-dev libglfw3-dev libglew-dev libfreetype-dev libsqlite3-dev ``` -For building the server the SQLite3 development library is required. +FreeBSD: -```bash -sudo apt install libsqlite3-dev +```csh +sudo pkg install cmake gcc lzlib mesa-devel glfw glew freetype sqlite3 ``` -Don't forget to pull the submodules before building. +OpenBSD: -``bash -git submodule update --init +```sh +sudo pkg_add cmake lzlib glfw glew freetype sqlite3 ``` -## Available targets -- `all` (default) -- `Dragonblocks` -- `DragonblocksServer` -- `clean` -- `clobber` +## Building a debug build +By default CMake will make a Debug build if nothing else is specified. Simply use + +```bash +cd src +cmake . +make -j$(nproc) +``` -The debug flag (`-g`) is set by default (RELEASE=TRUE will disable it). +to build the dragonblocks client and server. +If you use a debug build, the singleplayer script should be invoked from the src/ directory, because that's where the binaries are located. -## Release +## Building a snapshot ```bash ./snapshot.sh