annotate INSTALL.md @ 375:d83b686dcf63

js: add Mlk.setTrace function
author David Demelier <markand@malikania.fr>
date Tue, 02 Nov 2021 15:22:14 +0100
parents 19782ea1cf4a
children 7ac4b10eedbe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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