Update readme with clearer build instructions

This commit is contained in:
Eliza Velasquez 2020-05-31 18:04:00 -07:00
parent 1e65505239
commit 2b1b8e943f

View file

@ -8,7 +8,7 @@ Thanks to [hunternet93](https://github.com/hunternet93) for starting the reimple
>
> It is licensed under the GNU General Public License v2+.
*SyngleChance* also makes use of [steamshim](https://hg.icculus.org/icculus/steamshim/) for GPL compliance while making use of Steamworks features. See LICENSE.steamshim.txt for details.
*OneShot* also makes use of [steamshim](https://hg.icculus.org/icculus/steamshim/) for GPL compliance while making use of Steamworks features. See LICENSE.steamshim.txt for details.
## Dependencies / Building
@ -42,17 +42,18 @@ qmake will use pkg-config to locate the respective include/library paths. If you
The exception is boost, which is weird in that it still hasn't managed to pull off pkg-config support (seriously?). *If you installed boost in a non-standard prefix*, you will need to pass its include path via `BOOST_I` and library path via `BOOST_L`, either as direct arguments to qmake (`qmake BOOST_I="/usr/include" ...`) or via environment variables. You can specify a library suffix (eg. "-mt") via `BOOST_LIB_SUFFIX` if needed.
By default, *SyngleChance* switches into the directory where its binary is contained and then starts reading the configuration and resolving relative paths. In case this is undesired (eg. when the binary is to be installed to a system global, read-only location), it can be turned off by adding `DEFINES+=WORKDIR_CURRENT` to qmake's arguments.
By default, *OneShot* switches into the directory where its binary is contained and then starts reading the configuration and resolving relative paths. In case this is undesired (eg. when the binary is to be installed to a system global, read-only location), it can be turned off by adding `DEFINES+=WORKDIR_CURRENT` to qmake's arguments.
pkg-config will look for `ruby-2.3.pc`, but you can override the version with `MRIVERSION=2.5` ('2.5' being an example). This is the default binding, so no arguments to qmake needed (`BINDING=MRI` to be explicit).
### Building with Conan (Supported on Windows, in progress on macOS/Linux)
*SyngleChance* used to employ the `qmake` build system, but is now migrating to `conan`, so you'll need to install that beforehand. You'll also want to add the following remotes to `conan`:
Preface: This currently only supports Visual Studio on Windows and Xcode on macOS. Linux should work with either GCC or clang.
*OneShot* used to employ the `qmake` build system, but is now migrating to `conan`, so you'll need to install that beforehand (via `pip install conan`). You'll also want to add the following remotes to `conan`:
```sh
conan remote add eliza "https://api.bintray.com/conan/eliza/conan"
conan remote add gooborg "https://api.bintray.com/conan/gooborgstudios/conan"
conan remote add bincrafters "https://api.bintray.com/conan/bincrafters/public-conan"
```
@ -75,13 +76,13 @@ conan build .
```
### Supported image/audio formats
These depend on the SDL auxiliary libraries. *SyngleChance* only makes use of bmp/png for images and oggvorbis/wav for audio.
These depend on the SDL auxiliary libraries. *OneShot* only makes use of bmp/png for images and oggvorbis/wav for audio.
To run *SyngleChance*, you should have a graphics card capable of at least **OpenGL (ES) 2.0** with an up-to-date driver installed.
To run *OneShot*, you should have a graphics card capable of at least **OpenGL (ES) 2.0** with an up-to-date driver installed.
## Configuration
*SyngleChance* reads configuration data from the file "oneshot.conf". The format is ini-style. Do *not* use quotes around file paths (spaces won't break). Lines starting with '#' are comments. See 'oneshot.conf.sample' for a list of accepted entries.
*OneShot* reads configuration data from the file "oneshot.conf". The format is ini-style. Do *not* use quotes around file paths (spaces won't break). Lines starting with '#' are comments. See 'oneshot.conf.sample' for a list of accepted entries.
All option entries can alternatively be specified as command line options. Any options that are not arrays (eg. preloaded scripts) specified as command line options will override entries in oneshot.conf. Note that you will have to wrap values containing spaces in quotes (unlike in oneshot.conf).