Skip to content

Commit d095ce8

Browse files
committed
Update README/DEPENDENCIES docs
1 parent 30680b7 commit d095ce8

File tree

2 files changed

+40
-50
lines changed

2 files changed

+40
-50
lines changed

DEPENDENCIES.md

Lines changed: 0 additions & 36 deletions
This file was deleted.

README.md

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
## Introduction
44

55
`SimpleGraphic.dll` is the host environment for Lua.
6-
It contains the API used by the application's Lua logic, as well as a 2D OpenGL
7-
renderer, window management, input handling, and a debug console.
6+
It contains the API used by the application's Lua logic, as well as a
7+
2D OpenGL ES 2.0 renderer, window management, input handling, and a
8+
debug console.
89
It exports one symbol, `RunLuaFileAsWin`, which is passed a
910
C-style argc/argv argument list, with the script path as `argv[0]`.
1011

@@ -21,27 +22,52 @@ appears during the program's initialisation
2122

2223
## Building
2324

24-
`SimpleGraphic.dll` is currently built using Visual Studio 2019.
25+
`SimpleGraphic.dll` is currently built using Visual Studio 2022 for 64-bit.
2526

26-
The DLL depends on a number of 3rd-party libraries. Details and instructions
27-
for how to obtain them are in [DEPENDENCIES.md](DEPENDENCIES.md).
27+
The DLL depends on a number of 3rd-party libraries, all provided either as
28+
direct submodules and built by the main `CMakeLists.txt` file or built from
29+
ports in the `vcpkg` submodule as part of the build process.
2830

29-
Once the libraries are obtained, follow these instructions to build the DLL:
30-
1) Open `SimpleGraphic.sln` in Visual Studio 2019
31-
2) Choose the "Release|x86" configuration
32-
3) Build the solution
33-
4) The resulting `SimpleGraphic.dll` can be found in the `Release` directory
34-
5) Copy `SimpleGraphic.dll` to the Path of Building install directory,
35-
replacing the existing file.
31+
The build process will also build the `lcurl` and `lzip` Lua extensions
32+
against the same LuaJIT version as the DLL is built with.
33+
34+
A short guide on building and debugging the DLL is available in
35+
[CONTRIBUTING.md](CONTRIBUTING.md).
36+
37+
The `INSTALL` target will deploy the DLL, its dependencies and the VC++
38+
runtime to the installation directory.
3639

3740
## Debugging
3841

3942
Since SimpleGraphic.dll is dynamically loaded by `PathOfBuilding.exe`,
4043
to debug it, run `PathOfBuilding.exe` and then attach to that process using the
4144
"Debug" > "Attach to Process..." menu option in Visual Studio.
4245

43-
If debugging of the initialization is desired, then adding a `MessageBox`
44-
or some other pause at the start will give you time to attach and continue.
46+
Visual Studio can also be configured to start the Path of Building executable
47+
when debugging a target which troubleshooting of early startup.
48+
49+
## Project dependencies
50+
51+
Runtime and utilities:
52+
* [LuaJIT](https://github.com/LuaJIT/LuaJIT) - fast Lua fork with JIT compilation that has diverged from upstream Lua at version 5.1
53+
* [curl](https://curl.se/) - very common HTTP library, exposed to Lua
54+
* [fmtlib](https://fmt.dev/) - modern string formatting
55+
* [libsodium](https://doc.libsodium.org/) - friendly cryptographic primitives, used in SimpleGraphic for fast hashing
56+
* [pkgconf](http://pkgconf.org/) - part of the build process to locate builds of bundled libraries
57+
* [re2](https://github.com/google/re2) - regex library
58+
59+
Graphics:
60+
* [GLFW](https://www.glfw.org/) - multi-platform windowing library for OpenGL (and other APIs)
61+
* [ANGLE](https://github.com/google/angle) - OpenGL ES runtime from Google built on top of native rendering APIs
62+
* [Glad 2](https://gen.glad.sh/) - OpenGL header generator
63+
64+
Compression and image formats:
65+
* [stb](https://github.com/nothings/stb) - single-header libraries for many things, here image reading and writing
66+
* [giflib](https://sourceforge.net/projects/giflib/) - GIF loading/saving
67+
* [libjpeg-turbo](https://libjpeg-turbo.org/) - JPEG loading/saving
68+
* [libpng](http://www.libpng.org/pub/png/libpng.html) - PNG loading/saving
69+
* [liblzma](https://tukaani.org/xz/) - LZMA compression/decompression
70+
* [zlib](https://www.zlib.net/) - zlib compression/decompression
4571

4672
## Licence
4773

0 commit comments

Comments
 (0)