From 515f868c3ebe5db8654cd33569e7cae1893485b0 Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Wed, 17 Apr 2024 14:12:32 +0200 Subject: Merged INSTALL with README.md and README.cmake --- INSTALL | 73 ---------------------------------------------------- README.cmake | 9 +++++++ README.md | 52 ++++++++++++++++++++++++++++--------- data/help/header.txt | 2 +- 4 files changed, 50 insertions(+), 86 deletions(-) delete mode 100644 INSTALL diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 148be1a9..00000000 --- a/INSTALL +++ /dev/null @@ -1,73 +0,0 @@ -How to compile and run Mana on your GNU/Linux Box -================================================= - -Homepage: https://manasource.org/ -IRC: irc.libera.chat / #mana - -1) Requirements -2) Compiling And Installing Mana -3) Notes - - -1. Requirements -=============== - -You are expected to have either checked out Mana from Git or you have downloaded -a source release. To get Mana to compile, you need a compiler (GCC) -and some libraries. The required libraries are: - -* SDL2 https://www.libsdl.org/ -* SDL2_mixer https://github.com/libsdl-org/SDL_mixer -* SDL2_image https://github.com/libsdl-org/SDL_image -* SDL2_net https://github.com/libsdl-org/SDL_net -* SDL2_ttf https://github.com/libsdl-org/SDL_ttf -* ENet 1.3 http://sauerbraten.org/enet/ (included in repository) -* Guichan 0.8.x https://github.com/darkbitsorg/guichan -* libxml2 https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home -* physfs 2.x https://icculus.org/physfs/ -* zlib 1.2.x https://zlib.net/ -* libcurl https://curl.se/libcurl/ - -If you've cloned the Git repository, you will also need these tools to compile: - -* CMake >= 3.8 https://cmake.org/ -* GNU gettext https://www.gnu.org/software/gettext/ - -On some machines, it's been reported that this package is also needed. However, -you might not need it: - -* GNU libtool https://www.gnu.org/software/libtool/ - -Installing these dependencies is distributions-specific, and we'll leave it to -you to figure this out. - - -2. Compiling And Installing Mana -================================ - -1) Go to the directory you have extracted the source to. -2) Run "cmake ." -3) Run "make" -4) Run "make install" as root - -It should have installed Mana on your system now, and you can run it -with "mana". By default all files are installed to /usr/local, you can pass a -different prefix to cmake with -D CMAKE_INSTALL_PREFIX=/path/to/prefix - - - NOTE: It is possible to compile Mana without support for OpenGL rendering. - To do this perform step 2 as follows: - - cmake -DWITH_OPENGL=OFF . - - Rebuild the executable from scratch using "make clean" and then "make". - -For additional CMake related hints please read README.cmake - -3. Notes -======== - -If you have any problems, you are welcome to post your questions on our forums, -or talk about them in our IRC channel. - -- Mana Dev Team diff --git a/README.cmake b/README.cmake index 8471473f..6a683292 100644 --- a/README.cmake +++ b/README.cmake @@ -27,13 +27,19 @@ The syntax for setting variables to control CMakes behaviour is - Use a custom install prefix (like --prefix on autoconf)? CMAKE_INSTALL_PREFIX=/path/to/prefix + - Create a debug build? CMAKE_BUILD_TYPE=Debug . + - Add additional package search directories? CMAKE_PREFIX_PATH=/prefix/path + - Add additional include search directories? CMAKE_INCLUDE_PATH=/include/path +- Compile without legacy OpenGL rendering? + WITH_OPENGL=OFF + For example, to build mana to install in /opt/mana, with libraries in /build/mana/lib, and SDL-headers in /build/mana/include/SDL you'd use the following command: @@ -86,6 +92,9 @@ $ cmake -DCMAKE_TOOLCHAIN_FILE=/build/toolchain.cmake . 4. Creating an installer binary for Windows ------------------------------------------- +(NOTE: These instructions are outdated, an NSIS installer can now be produced +in MSYS2 using cpack, which automates most of the below steps.) + Call cmake with the following flags: - CMAKE_TOOLCHAIN_FILE=/build/toolchain.cmake diff --git a/README.md b/README.md index bac963af..eb591947 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,24 @@ -THE MANA CLIENT +The Mana Client =============== With the Mana client you can play The Mana World and related games. The Mana World is a free 2D open source MMORPG. This client supports games hosted by either tmwAthena or manaserv. -The Mana client is written in C++ and builds upon: - -- SDL2, SDL2\_image, SDL2\_mixer, SDL2\_ttf, SDL2\_net (Media framework) -- Guichan (GUI framework) -- libxml2 (XML parsing and writing) -- PhysicsFS (Data files) -- ENet (UDP networking library) +The Mana client is written in C++17 and builds upon: + +- [SDL2](https://www.libsdl.org/), + [SDL2\_image](https://github.com/libsdl-org/SDL_image), + [SDL2\_mixer](https://github.com/libsdl-org/SDL_mixer), + [SDL2\_ttf](https://github.com/libsdl-org/SDL_ttf), + [SDL2\_net](https://github.com/libsdl-org/SDL_net) (media and networking) +- [Guichan 0.8](https://github.com/darkbitsorg/guichan) (GUI framework) +- [libxml2](https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home) (XML parsing and writing) +- [PhysicsFS 3](https://icculus.org/physfs/) (data files) +- [ENet 1.3](http://sauerbraten.org/enet/) (UDP networking library) +- [GNU gettext](https://www.gnu.org/software/gettext/) (translations) - libcurl (HTTP downloads) -- zlib (Archives) +- [zlib 1.2](https://zlib.net/) (compression) See the `AUTHORS` file for the list of developers. @@ -109,6 +114,9 @@ to contact the developers of the game instead. Compiling the Client -------------------- +Apart from the dependencies listed above you will need a compiler and +[CMake](https://cmake.org/) installed. + Installing the dependencies on Ubuntu: sudo apt install build-essential cmake \ @@ -145,8 +153,28 @@ Once the dependencies are installed, use CMake: cmake -B build . cmake --build build -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. +This produces an executable in `build/src/mana`. Be sure to run it from the +repository root so that it can find its data files. + +Installing the Client +--------------------- + +On Linux you can run `cmake --install build`. By default all files are +installed to `/usr/local`, but you can pass a different prefix to the first +`cmake` invocation with `-DCMAKE_INSTALL_PREFIX=/path/to/prefix`. + +On Windows, you can install the same way as above to put the Mana client in +your Program Files. However, you'll probably want to create an installer +instead. For MSYS2 UCRT64 builds, an NSIS installer can be produced as follows: + + cd build + cpack + +On macOS, you can create a stand-alone application bundle by installing, +similar to the Linux command above. To make it easy for others to install your +build, you can also build a DragNDrop DMG using: + + cd build + cpack -G DragNDrop See `README.cmake` for additional information. diff --git a/data/help/header.txt b/data/help/header.txt index 6391be8f..faa17a05 100644 --- a/data/help/header.txt +++ b/data/help/header.txt @@ -2,7 +2,7 @@ ##1 M A N A C L I E N T ##1 ========================================= - ##2Version:##0 0.6.1 ##2Date:##0 2 April 2012 + ##2Version:##0 0.7.0 ##2Date:##0 .. April 2024 ##2 Website:##0 https://manasource.org -- cgit v1.2.3-70-g09d2