Update README.md

Fix Visual Studio instructions.

Add links for all dependencies.

Fix grammar/omissions etc.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
This commit is contained in:
Rafael Kitover 2019-08-20 07:31:38 +00:00
parent 8ceef90fc4
commit c64dd259b9
No known key found for this signature in database
GPG Key ID: 08AB596679D86240
1 changed files with 27 additions and 19 deletions

View File

@ -3,7 +3,11 @@
- [Visual Boy Advance - M](#visual-boy-advance---m) - [Visual Boy Advance - M](#visual-boy-advance---m)
- [Note for Windows Users](#note-for-windows-users)
- [Building](#building) - [Building](#building)
- [Building a Libretro core](#building-a-libretro-core)
- [Visual Studio Support](#visual-studio-support)
- [Dependencies](#dependencies)
- [Cross compiling for 32 bit on a 64 bit host](#cross-compiling-for-32-bit-on-a-64-bit-host) - [Cross compiling for 32 bit on a 64 bit host](#cross-compiling-for-32-bit-on-a-64-bit-host)
- [Cross Compiling for Win32](#cross-compiling-for-win32) - [Cross Compiling for Win32](#cross-compiling-for-win32)
- [CMake Options](#cmake-options) - [CMake Options](#cmake-options)
@ -15,14 +19,14 @@
<!-- END doctoc generated TOC please keep comment here to allow auto update --> <!-- END doctoc generated TOC please keep comment here to allow auto update -->
[![Join the chat at https://gitter.im/visualboyadvance-m/Lobby](https://badges.gitter.im/visualboyadvance-m/Lobby.svg)](https://gitter.im/visualboyadvance-m/Lobby) [![Join the chat at https://gitter.im/visualboyadvance-m/Lobby](https://badges.gitter.im/visualboyadvance-m/Lobby.svg)](https://gitter.im/visualboyadvance-m/Lobby)
[![Build Status](https://travis-ci.org/visualboyadvance-m/visualboyadvance-m.svg?branch=master)](https://travis-ci.org/visualboyadvance-m/visualboyadvance-m) [![travis](https://travis-ci.org/visualboyadvance-m/visualboyadvance-m.svg?branch=master)](https://travis-ci.org/visualboyadvance-m/visualboyadvance-m)
[![Build status](https://ci.appveyor.com/api/projects/status/5ckx25vct1q1ovfc?svg=true)](https://ci.appveyor.com/project/ZachBacon65337/visualboyadvance-m-2ys5r) [![appveyor](https://ci.appveyor.com/api/projects/status/5ckx25vct1q1ovfc?svg=true)](https://ci.appveyor.com/project/ZachBacon65337/visualboyadvance-m-2ys5r)
# Visual Boy Advance - M # Visual Boy Advance - M
Game Boy Advance Emulator Game Boy Advance Emulator
Homepage and Forum: http://vba-m.com The Forum is here: https://vba-m.com/forums/
Windows and Mac builds are in the [releases tab](https://github.com/visualboyadvance-m/visualboyadvance-m/releases). Windows and Mac builds are in the [releases tab](https://github.com/visualboyadvance-m/visualboyadvance-m/releases).
@ -61,9 +65,10 @@ make -j`nproc`
``` ```
`./installdeps` is supported on MSys2, Linux (Debian/Ubuntu, Fedora, Arch, `./installdeps` is supported on MSys2, Linux (Debian/Ubuntu, Fedora, Arch,
Solus and RHEL/CentOS) and Mac OS X (homebrew, macports or fink.) Solus, OpenSUSE, Gentoo and RHEL/CentOS) and Mac OS X (homebrew, macports or
fink.)
The Ninja cmake generator is also now supported, including on msys2 and Visual Studio. The Ninja cmake generator is also now supported (except for Visual Studio.)
## Building a Libretro core ## Building a Libretro core
@ -76,7 +81,7 @@ $ make
Copy vbam_libretro.so to your RetroArch cores directory. Copy vbam_libretro.so to your RetroArch cores directory.
``` ```
### Visual Studio Support ## Visual Studio Support
For visual studio, dependency management is handled automatically with vcpkg, For visual studio, dependency management is handled automatically with vcpkg,
just clone the repository with git and build with cmake. You can do this from just clone the repository with git and build with cmake. You can do this from
@ -93,10 +98,13 @@ To build in the visual studio command prompt, use something like this:
mkdir vsbuild mkdir vsbuild
cd vsbuild cd vsbuild
cmake .. -DVCPKG_TARGET_TRIPLET=x64-windows cmake .. -DVCPKG_TARGET_TRIPLET=x64-windows
msbuild /m .\ALL_BUILD.vcxproj msbuild /m .\ALL_BUILD.vcxproj -p:Configuration=Release
``` ```
### Dependencies This support is new and we are still working out some issues, including support
for static builds.
## Dependencies
If your OS is not supported, you will need the following: If your OS is not supported, you will need the following:
@ -104,22 +112,22 @@ If your OS is not supported, you will need the following:
- [make](https://en.wikipedia.org/wiki/Make_(software)) - [make](https://en.wikipedia.org/wiki/Make_(software))
- [CMake](https://cmake.org/) - [CMake](https://cmake.org/)
- [git](https://git-scm.com/) - [git](https://git-scm.com/)
- nasm (optional, for 32 bit builds) - [nasm](https://www.nasm.us/) (optional, for 32 bit builds)
And the following development libraries: And the following development libraries:
- [zlib](https://zlib.net/) (required) - [zlib](https://zlib.net/) (required)
- [mesa](https://mesa3d.org/) (if using X11 or any OpenGL otherwise) - [mesa](https://mesa3d.org/) (if using X11 or any OpenGL otherwise)
- ffmpeg (optional, for game recording) - [ffmpeg](https://ffmpeg.org/) (optional, for game recording)
- gettext and gettext tools (optional, with ENABLE_NLS) - [gettext](https://www.gnu.org/software/gettext/) and gettext-tools (optional, with ENABLE_NLS)
- png (required) - [libpng](http://www.libpng.org/pub/png/libpng.html) (required)
- [SDL](https://www.libsdl.org/)2 (required) - [SDL2](https://www.libsdl.org/) (required)
- [SFML](https://www.sfml-dev.org/) (optional, for link) - [SFML](https://www.sfml-dev.org/) (optional, for link)
- OpenAL (optional, a sound interface) - [OpenAL](https://www.openal.org/) or [openal-soft](https://kcat.strangesoft.net/openal.html) (optional, a sound interface)
- [wxWidgets](https://wxwidgets.org/) (required, 2.8 is still supported, --enable-stl is supported) - [wxWidgets](https://wxwidgets.org/) (required for GUI, 2.8 is still supported, --enable-stl is supported)
On Linux and similar, you also need the version of GTK your wxWidgets is linked On Linux and similar, you also need the version of GTK your wxWidgets is linked
to (usually 2 or 3). to (usually 2 or 3) and the xorg development libraries.
Support for more OSes/distributions for `./installdeps` is planned. Support for more OSes/distributions for `./installdeps` is planned.
@ -136,9 +144,9 @@ may be `win32` which is an alias for `mingw-w64-i686` to target 32 bit Windows,
or `mingw-gw64-x86_64` for 64 bit Windows targets. or `mingw-gw64-x86_64` for 64 bit Windows targets.
The target is implicit on MSys2 depending on which MINGW shell you started (the The target is implicit on MSys2 depending on which MINGW shell you started (the
value of `$MSYSTEM`.) It will not run in the MSys shell. value of `$MSYSTEM`.)
On Debian/Ubuntu this uses the MXE apt repository and works really well. On Debian/Ubuntu this uses the MXE apt repository and works quite well.
On Fedora it can build using the Fedora MinGW packages, albeit with wx 2.8, no On Fedora it can build using the Fedora MinGW packages, albeit with wx 2.8, no
OpenGL support, and no Link support for lack of SFML. OpenGL support, and no Link support for lack of SFML.
@ -149,7 +157,7 @@ broken, I will at some point redo the arch stuff to use MXE as well.
## CMake Options ## CMake Options
The CMake code tries to guess reasonable defaults for options, but you can The CMake code tries to guess reasonable defaults for options, but you can
override them on the cmake command with e.g.: override them, for example:
```shell ```shell
cmake .. -DENABLE_LINK=NO cmake .. -DENABLE_LINK=NO