Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
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 c64dd25
Showing 1 changed file with 27 additions and 19 deletions.
46 changes: 27 additions & 19 deletions README.md
Expand Up @@ -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)
Expand All @@ -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).

Expand Down Expand Up @@ -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

Expand All @@ -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
Expand All @@ -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.

Expand All @@ -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.
Expand All @@ -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
Expand Down

0 comments on commit c64dd25

Please sign in to comment.