Updated Compiling (markdown)

bearoso 2023-03-09 16:57:17 -06:00
parent 0537979331
commit 10835b8918
1 changed files with 18 additions and 7 deletions

@ -15,7 +15,7 @@ NOTE: Unicode support requires a special zlib build - see the end of the zlib en
in the cloned Snes9x git directory, or by using git GUI tools to do the same. in the cloned Snes9x git directory, or by using git GUI tools to do the same.
This is the recommended method of installing these dependencies. This is the recommended method of installing these dependencies.
* DirectXMath. The source files should reside in `win32/DirectXMath` * ~~DirectXMath. The source files should reside in `win32/DirectXMath`~~ This is no longer used with version 1.62.
* zlib (optional, ZLIB define, enabled by default) - the default solution includes a zlib * zlib (optional, ZLIB define, enabled by default) - the default solution includes a zlib
project that builds appropriately (force includes `_tfwopen.h` for unicode support in s9x). project that builds appropriately (force includes `_tfwopen.h` for unicode support in s9x).
@ -28,8 +28,8 @@ NOTE: Unicode support requires a special zlib build - see the end of the zlib en
* glslang and SPIRV-Cross (optional, USE_SLANG define, enabled by default) * glslang and SPIRV-Cross (optional, USE_SLANG define, enabled by default)
These are needed to build support for .slang shaders. The default solution includes These are needed to build support for .slang shaders. The default solution includes
a series of projects encompassing glslang that build appropriately. a series of projects encompassing glslang that build appropriately.
The glslang source files should reside in `shaders/glslang` The glslang source files should reside in `external/glslang` or `shaders/glslang` on 1.61 and earlier.
The SPIRV-Cross source files should be placed in `shaders/SPIRV-Cross` The SPIRV-Cross source files should be placed in `external/SPIRV-Cross` or `shaders/SPIRV-Cross` on 1.61 and earlier.
If wish to compile without USE_SLANG, you must remove the files named If wish to compile without USE_SLANG, you must remove the files named
`spirv_*.cpp` from the Visual Studio project's Shaders group. `spirv_*.cpp` from the Visual Studio project's Shaders group.
@ -48,7 +48,7 @@ Requirements:
- SDL 2.0 - SDL 2.0
- X11, even if only using Wayland - X11, even if only using Wayland
- libepoxy - libepoxy
- meson - CMake (meson for older versions)
Optional: Optional:
- PulseAudio - PulseAudio
@ -72,12 +72,23 @@ snes9x$ git init && git submodule update --init --recursive
``` ```
Otherwise, you will need to place the glslang source files in `shaders/glslang` and the SPIRV-Cross source files in the `shaders/SPIRV-Cross` directory manually. Otherwise, you will need to place the glslang source files in `shaders/glslang` and the SPIRV-Cross source files in the `shaders/SPIRV-Cross` directory manually.
Building with meson: 1. Use the appropriate configure tool to generate build files. Only this first step is different. The rest of the build process will use the "ninja" program.
1. Change to the `gtk` directory and run meson:
**Configuring with CMake:**
Newer versions have replaced meson with CMake.
Change to the `gtk` directory and run `cmake`.
```
snes9x/gtk$ cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -S . -B build
```
**Building with meson:** *for older versions that have a meson.build file*
Change to the `gtk` directory and run meson:
``` ```
snes9x/gtk$ meson build --prefix=/usr --buildtype=release --strip snes9x/gtk$ meson build --prefix=/usr --buildtype=release --strip
``` ```
A list of options can be found in `meson_options.txt`. Most will be autodetected. If you wish to enable dangerous hacks in the UI, that must be done by supplying the respective option. A list of options can be found in `meson_options.txt`. Most will be autodetected.
2. Build with ninja: 2. Build with ninja:
``` ```