Skip to content
Permalink
Browse files

Update README.md

Fix Visual Studio instructions.

Add links for all dependencies.

Fix grammar/omissions etc.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>
  • Loading branch information
rkitover committed Aug 20, 2019
1 parent 8ceef90 commit c64dd259b9eff76068530bf3498d23152bab1bc1
Showing with 27 additions and 19 deletions.
  1. +27 −19 README.md
@@ -3,7 +3,11 @@


- [Visual Boy Advance - M](#visual-boy-advance---m)
- [Note for Windows Users](#note-for-windows-users)
- [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 Win32](#cross-compiling-for-win32)
- [CMake Options](#cmake-options)
@@ -15,14 +19,14 @@
<!-- 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)
[![Build Status](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)
[![travis](https://travis-ci.org/visualboyadvance-m/visualboyadvance-m.svg?branch=master)](https://travis-ci.org/visualboyadvance-m/visualboyadvance-m)
[![appveyor](https://ci.appveyor.com/api/projects/status/5ckx25vct1q1ovfc?svg=true)](https://ci.appveyor.com/project/ZachBacon65337/visualboyadvance-m-2ys5r)

# Visual Boy Advance - M

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).

@@ -61,9 +65,10 @@ make -j`nproc`
```

`./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

@@ -76,7 +81,7 @@ $ make
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,
just clone the repository with git and build with cmake. You can do this from
@@ -93,33 +98,36 @@ To build in the visual studio command prompt, use something like this:
mkdir vsbuild
cd vsbuild
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:

- C++ compiler and binutils
- [make](https://en.wikipedia.org/wiki/Make_(software))
- [CMake](https://cmake.org/)
- [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:

- [zlib](https://zlib.net/) (required)
- [mesa](https://mesa3d.org/) (if using X11 or any OpenGL otherwise)
- ffmpeg (optional, for game recording)
- gettext and gettext tools (optional, with ENABLE_NLS)
- png (required)
- [SDL](https://www.libsdl.org/)2 (required)
- [ffmpeg](https://ffmpeg.org/) (optional, for game recording)
- [gettext](https://www.gnu.org/software/gettext/) and gettext-tools (optional, with ENABLE_NLS)
- [libpng](http://www.libpng.org/pub/png/libpng.html) (required)
- [SDL2](https://www.libsdl.org/) (required)
- [SFML](https://www.sfml-dev.org/) (optional, for link)
- OpenAL (optional, a sound interface)
- [wxWidgets](https://wxwidgets.org/) (required, 2.8 is still supported, --enable-stl is supported)
- [OpenAL](https://www.openal.org/) or [openal-soft](https://kcat.strangesoft.net/openal.html) (optional, a sound interface)
- [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
to (usually 2 or 3).
to (usually 2 or 3) and the xorg development libraries.

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.

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
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

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
cmake .. -DENABLE_LINK=NO

0 comments on commit c64dd25

Please sign in to comment.
You can’t perform that action at this time.