summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-02-19 08:14:16 +0000
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-02-19 08:14:16 +0000
commiteab47c4f2674516d9499e837eff5b6b40f48213d (patch)
tree5d0e59267ca89acef8a491917a3af5ac5afad08f /README.md
parent278d9aa7eb084bd6f93e6ac1fd84033dc316ab5e (diff)
downloadmana-eab47c4f2674516d9499e837eff5b6b40f48213d.tar.gz
mana-eab47c4f2674516d9499e837eff5b6b40f48213d.tar.bz2
mana-eab47c4f2674516d9499e837eff5b6b40f48213d.tar.xz
mana-eab47c4f2674516d9499e837eff5b6b40f48213d.zip
Fixed compile on macOS
Since Guichan is currently disabled on Homebrew, I've opted for adding it as a submodule instead. It currently references the 0.8 branch of Guichan, after I cherry-picked the CMake support from the master branch. When using SDL2 installed through Homebrew, it was necessary to use SDL2_LINK_LIBRARIES, since the libraries occupy various different directories. It no longer seems necessary to include an SDLMain.m, so I deleted it. Removed obsolete OS X instructions. Also added instructions for installing dependencies on Fedora. Removed mentioning of /announce and /who in the README, since they were removed for tmwAthena.
Diffstat (limited to 'README.md')
-rw-r--r--README.md29
1 files changed, 20 insertions, 9 deletions
diff --git a/README.md b/README.md
index 1b001857..14e03fb1 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ The Mana client is written in C++ and builds upon:
- SDL2, SDL2\_gfx, SDL2\_image, SDL2\_mixer, SDL2\_ttf, SDL2\_net (Media framework)
- Guichan (GUI framework)
- libxml2 (XML parsing and writing)
-- PhysFS (Data files)
+- PhysicsFS (Data files)
- ENet (UDP networking library)
- libcurl (HTTP downloads)
- zlib (Archives)
@@ -66,9 +66,7 @@ window. Here's a list of common commands:
```
- /help Displays the list of commands
-- /announce broadcasts a global msg(Gm Cammand only)
- /clear clears the chat window
-- /who shows how many players are online
- /where displays the map name your currently on
- /whisper send a private msg to another player
(format: /whisper <charname> <message>)
@@ -111,19 +109,32 @@ to contact the developers of the game instead.
Compiling the Client
--------------------
-Installing the dependencies on Ubuntu
+Installing the dependencies on Ubuntu:
- sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev \
+ sudo apt install build-essential cmake \
+ libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev \
libsdl2-net-dev libsdl2-ttf-dev libsdl2-gfx-dev \
libcurl4-openssl-dev libphysfs-dev libxml2-dev \
libguichan-dev libpng-dev gettext
+Installing the dependencies on macOS (with Homebrew):
+
+ brew install sdl2 sdl2_gfx sdl2_image sdl2_mixer sdl2_net sdl2_ttf \
+ physfs curl
+
+Installing the dependencies on Fedora:
+
+ sudo dnf install gcc-c++ cmake physfs-devel libcurl-devel guichan-devel \
+ SDL2_image-devel SDL2_mixer-devel SDL2_net-devel \
+ SDL2_ttf-devel SDL2_gfx-devel
+
Once the dependencies are installed, use CMake:
- cmake .
- cmake --build . --parallel
+ cmake -B build .
+ cmake --build build --parallel
-This produces an executable in `src/mana`. If running it without installing, be
-sure to run it from the repository root so that it can find its data files.
+This produces an executable in `build/src/mana`. If running it without
+installing, be sure to run it from the repository root so that it can find its
+data files.
See `README.cmake` for additional information.