Mercurial > molko
annotate INSTALL.md @ 406:107fc5c77df2
examples: fix ui
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 03 Apr 2022 08:05:30 +0200 |
parents | 19782ea1cf4a |
children | 7ac4b10eedbe |
rev | line source |
---|---|
366
19782ea1cf4a
misc: start rebranding
David Demelier <markand@malikania.fr>
parents:
326
diff
changeset
|
1 Molko's Engine INSTALL |
19782ea1cf4a
misc: start rebranding
David Demelier <markand@malikania.fr>
parents:
326
diff
changeset
|
2 ====================== |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 Installation instructions. |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 Requirements |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 ------------ |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 |
366
19782ea1cf4a
misc: start rebranding
David Demelier <markand@malikania.fr>
parents:
326
diff
changeset
|
9 - C99 compliant compiler. |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
10 - [CMake][], CMake build system. |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
11 - [Jansson][], JSON parsing library. |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
12 - [SDL2][], Multimedia library. |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
13 - [SDL2_image][], Image loading addon for SDL2. |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
14 - [SDL2_mixer][], Audio addon for SDL2. |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 - [SDL2_ttf][], Fonts addon for SDL2, |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
16 - [gettext][], For translations (optional). |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
17 - [zstd][], For compression (optional). |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
366
19782ea1cf4a
misc: start rebranding
David Demelier <markand@malikania.fr>
parents:
326
diff
changeset
|
19 Molko's Engine is mostly written in pure C99 with a very limited POSIX |
326
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
20 extensions (including `stat`, `strlcpy`, `fmemopen`) but where support is |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
21 missing fallback implementations are provided. |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
22 |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
23 Supported platforms |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
24 ------------------- |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
25 |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
26 The project was successfully tested on the following platforms and their |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
27 architectures. |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
28 |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
29 - Windows (MinGW-w64, VS2019). |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
30 - Linux (musl/amd64, musl/aarch64, glibc/amd64). |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
31 - FreeBSD (amd64). |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
32 - macOS Big Sur. |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
33 |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 Basic installation |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 ------------------ |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 Quick install. |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 $ tar xvzf molko-x.y.z-tar.xz |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 $ cd molko-x.y.z |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
41 $ cmake -S. -Bbuild |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
42 $ cmake --build build --target all |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
43 # cmake --build build --target install |
90
a6d6497adb60
make: cleanup a bit and add appropriate dependencies
David Demelier <markand@malikania.fr>
parents:
89
diff
changeset
|
44 |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
45 Available options |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
46 ----------------- |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
47 |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
48 The following options are available: |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
49 |
366
19782ea1cf4a
misc: start rebranding
David Demelier <markand@malikania.fr>
parents:
326
diff
changeset
|
50 - `MLK_WITH_NLS`: Enable Native Language Support |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
51 - `MLK_WITH_ZSTD`: Enable map and tileset compression through [zstd][] (default: |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
52 on). |
326
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
53 - `MLK_WITH_TESTS`: Enable unit tests (default: off). |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
54 - `MLK_WITH_EXAMPLES`: Enable sample programs. |
305
3675021fa6e5
make: add fakeroot support
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
55 |
326
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
56 Platform: Linux and BSD |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
57 ----------------------- |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
58 |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
59 Install dependencies using the package manager provided and use CMake to |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
60 generate Makefiles. |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
61 |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
62 Platform: macOS |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
63 --------------- |
305
3675021fa6e5
make: add fakeroot support
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
64 |
326
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
65 The recommended way to build under macOS is to install dependencies through |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
66 [brew][] and compile using XCode or command line generated makefiles. |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
67 |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
68 You will need the following packages: |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
69 |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
70 - gettext (only if `MLK_WITH_NLS` is set) |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
71 - jansson (only for mlk-map/mlk-tileset tools) |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
72 - sdl2 |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
73 - sdl2_image |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
74 - sdl2_mixer |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
75 - sdl2_ttf |
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
76 - zstd (only if `MLK_WITH_ZSTD` is set) |
307
363024b76da7
make: create install-data rather than fakeroot
David Demelier <markand@malikania.fr>
parents:
305
diff
changeset
|
77 |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 Platform: Windows |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 ----------------- |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
81 On Windows, [MSYS2][] and Visual Studio are supported. |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
83 ### MSYS2 |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 Once you have MSYS2 installed, simply install the following packages from the |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 appropriate MinGW shell prior to the chapter above. |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 - *make* |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 - *mingw-w64-x86_64-gcc* |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 - *mingw-w64-x86_64-SDL2* |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 - *mingw-w64-x86_64-SDL2_image* |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 - *mingw-w64-x86_64-SDL2_mixer* |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 - *mingw-w64-x86_64-SDL2_ttf* |
305
3675021fa6e5
make: add fakeroot support
David Demelier <markand@malikania.fr>
parents:
90
diff
changeset
|
94 - *mingw-w64-x86_64-jansson* (only for mlk-map/mlk-tileset tools) |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
95 - *mingw-w64-x86_64-zstd* (only if `MLK_WITH_ZSTD` is set) |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 |
89
30baadb6f6a2
core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents:
84
diff
changeset
|
97 Note: replace `x86_64` with `i686` if you have a deprecated system or if you |
30baadb6f6a2
core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents:
84
diff
changeset
|
98 have issues while debugging (MinGW-w64 and/or gdb have known issues in |
30baadb6f6a2
core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents:
84
diff
changeset
|
99 this area). |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
101 ### Visual Studio |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
102 |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
103 On Visual Studio you will need to download or build libraries yourself. It is |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
104 recommended to install all of them in a same directory and hierarchy as |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
105 following: |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
106 |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
107 - <dir>/bin |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
108 - <dir>/lib |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
109 - <dir>/include |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
110 |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
111 Then adding `<dir>/bin` to *PATH* and `<dir>` to *CMAKE_PREFIX_PATH* will allow |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
112 CMake to find libraries. |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
113 |
326
06782f7888f3
misc: update meta files
David Demelier <markand@malikania.fr>
parents:
315
diff
changeset
|
114 [brew][]: http://brew.sh |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
115 [CMake][]: http://cmake.org |
25
0d5ecefcccd3
molko-map: reimplement using JSON as it is supported by tiled, closes #2448 @4h
David Demelier <markand@malikania.fr>
parents:
17
diff
changeset
|
116 [Jansson][]: http://www.digip.org/jansson |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
117 [MSYS2]: http://www.msys2.org |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 [SDL2]: http://libsdl.org |
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 [SDL2_image]: https://www.libsdl.org/projects/SDL_image |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
120 [SDL2_mixer]: https://www.libsdl.org/projects/SDL_mixer |
13
c188e9603faf
misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 [SDL2_ttf]: https://www.libsdl.org/projects/SDL_ttf |
315
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
122 [gettext]: https://www.gnu.org/software/gettext |
3bfaaf5342a9
cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents:
308
diff
changeset
|
123 [zstd]: http://facebook.github.io/zstd |