From 90fb91260b233440921e05709d5ed948c1e2a9bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Neum=C3=BCller?= Date: Tue, 25 Jun 2013 11:14:10 +0200 Subject: [PATCH] Rewrote README (->README.md). --- README | 23 ----------------- README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 23 deletions(-) delete mode 100644 README create mode 100644 README.md diff --git a/README b/README deleted file mode 100644 index de202b2..0000000 --- a/README +++ /dev/null @@ -1,23 +0,0 @@ -JadeEngine -========== - -**JadeEngine** (or '**jd**' for short) is a game Engine written in *C++* for -*Lua* with *SFML* for graphics and audio (not implemented yet), *PhysFS* as -virtual file system and a custom *TMX-Loader* (Tiled Map Editor's format). - -For the libraries needed to build, see section 3 -"Verwendete Programmiersprachen, Bibliotheken und Tools" in FloodFill.pdf. The -project will most likely only build on MSVC11 out of the box. - -Note that jd uses a patched version of luabind and lua (for the latter see -http://www.lua.org/bugs.html, especially the GC bug -http://www.lua.org/bugs.html#5.2.1-3). -Patches to luabind: - * unset metatable of destroyed objects - * fix weak_ref - (http://lua.2524044.n2.nabble.com/weak-ref-issue-patch-td7581558.html) - -I know that the information provided makes it quite difficult to build the -project. That's because I don't really believe that someone other than me wants -to do that anytime soon. If you intend to do that, please contact me so that I -can give more information or even prebuilt dependencies. diff --git a/README.md b/README.md new file mode 100644 index 0000000..80dfe7e --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +Title: Jade Engine README +Author: Christian Neumüller + + +JadeEngine +========== + +**JadeEngine** (or '**jd**' for short) is a game Engine written in *C++* for +*[Lua][]* with 2D graphics, audio, virtual file system (ZIP) and *TMX* +([Tiled Map Editor][]'s format) support. + + +[Lua]: http://www.lua.org/ +[Tiled Map Editor]: http://www.mapeditor.org/ + + + +Building +-------- + +### Ingredients ### + +The following libraries are needed: + +- **[SFML][]** in the latest (git) version, available at + . +- **[Boost][]** in version 1.53 (later versions may/should also work). +- **[Lua][]** in the latest version of the 5.2.x branch. You may want to apply + the patches listed at . Please compile as C + (jd was not tested with the C++ build of Lua which throws exceptinons). +- **[Luabind][]** in a 0.9 version patched by me: + +- **[zlib][]** (tested with version 1.2.7). +- **[PhysFS][]** (tested with version 2.0.3). + +The only compiler throughoutly tested is **MSVC 11**, but once upon a time the +source code and `CMakeLists.txt` were adjusted to also work with g++ 4.7.2. +The build system used is **[CMake][]** in a recent 2.8.x version. + +Especially on Windows, make sure to set any environment variables neccessary to +let CMake find the librarys are set correctly: `SFML_ROOT`, `BOOST_ROOT`, +`LUA_DIR`, `LUABIND_DIR`, `PHYSFSDIR`. zlib does not look at any environment +variables but only the `ZLIB_ROOT` CMake variable: See the second point in the +next section for how to set it. + +As an alternative to setting the variables you can also install the libraries +to the (CMake) standard locations or add the containing directories to +CMAKE_PREFIX_PATH. + + +[SFML]: http:/sfml-dev.org/ +[Boost]: http://www.boost.org/ +[Luabind]: http://www.rasterbar.com/products/luabind.html +[zlib]: http://www.zlib.net/ +[PysFS]: http://icculus.org/physfs/ + + +### `Find*.cmake` ### +The `CMakeLists.txt` for jd call `find_package()` with some libraries where +the corresponding `Find*.cmake` is not built in, namely `Lua52`, `Luabind` and +`SFML`. The latter is included with SFML itself and the first two are both +contained in my Luabind fork, linked above. To make CMake find them you have +two options: + +- Copy the files to your CMake installation's module directory. This is the + directory where e.g. the `AddFileDependencies.cmake` module is located. It + usually lies in `/share/cmake-2.8/Modules`, where `` is the + installation directory on Windows (usually + `C:\Program Files (x86)\CMake 2.8`) and usually simply `/usr` on Linux. +- Specify the directories where the files are located as a semicolon `;` + separated list in the `CMAKE_MODULE_PATH` CMake cache variable (*Add entry*, + type string in the Windows GUI; or `-DCMAKE_MODULE_PATH=` on the + command line). + + +> (C) Christian Neumüller 2012 -- 2013