put CMake options in README.md into table + misc

Make a nice table for CMake options, add a note on making debug vs.
release builds, add nasm to list of deps, add a note in MSys2 notes
about lack of debug console messages.
This commit is contained in:
Rafael Kitover 2016-12-23 06:10:54 -08:00
parent 2483a2c440
commit 9f051c3813
1 changed files with 31 additions and 24 deletions

View File

@ -26,10 +26,11 @@ Mac OS X (homebrew, macports or fink.)
If your OS is not supported, you will need the following:
- compiler and binutils
- c++ compiler and binutils
- make
- cmake
- git
- nasm (for 32 bit builds)
And the following development libraries:
@ -71,31 +72,34 @@ override them on the cmake command with e.g.:
cmake .. -DENABLE_LINK=NO
```
Of particular interest is making **RELEASE** or **DEBUG** builds, the default
mode is **RELEASE**, to make a **DEBUG** build use something like:
```bash
cmake .. -DCMAKE_BUILD_TYPE=Debug
```
Here is the complete list:
- ENABLE_SDL -- Build the SDL port (default OFF)
- ENABLE_WX -- Build the wxWidgets port (default ON)
- ENABLE_DEBUGGER -- Enable the debugger (default ON)
- ENABLE_NLS -- Enable translations (default ON)
- ENABLE_ASM_CORE -- Enable x86 ASM CPU cores (default ON for 32 bit builds)
- ENABLE_ASM_SCALERS -- Enable x86 ASM graphic filters (default ON for 32 bit
builds)
- ENABLE_MMX -- Enable MMX (default ON for 32 bit builds)
- ENABLE_LINK -- Enable GBA linking functionality (default ON)
- ENABLE_LIRC -- Enable LIRC support (default OFF)
- ENABLE_FFMPEG -- Enable ffmpeg A/V recording (default ON on Linux and MSys2 and OFF
elsewhere)
- ENABLE_LTO -- Compile with Link Time Optimization (gcc and clang only)
(default ON where we know it seems to work)
- ENABLE_GBA_LOGGING -- Enable extended GBA logging (default ON)
- ENABLE_SDL -- Build the SDL port (default OFF)
- ENABLE_CAIRO -- Enable Cairo rendering for the wxWidgets port (default OFF)
- ENABLE_DIRECT3D -- Enable Direct3D rendering for the wxWidgets port (Windows
only, default
ON, NOT IMPLEMENTED!!!)
- ENABLE_XAUDIO2 -- Enable xaudio2 sound output for the wxWidgets port (Windows
only, default ON)
- ENABLE_OPENAL -- Enable OpenAL for the wxWidgets port (default ON)
| **CMake Option** | **What it Does** | **Defaults** |
|----------------------|----------------------------------------------------------------------|-----------------------|
| ENABLE_SDL | Build the SDL port | OFF |
| ENABLE_WX | Build the wxWidgets port | ON |
| ENABLE_DEBUGGER | Enable the debugger | ON |
| ENABLE_NLS | Enable translations | ON |
| ENABLE_ASM_CORE | Enable x86 ASM CPU cores | ON for 32 bit builds |
| ENABLE_ASM_SCALERS | Enable x86 ASM graphic filters | ON for 32 bit builds |
| ENABLE_MMX | Enable MMX | ON for 32 bit builds |
| ENABLE_LINK | Enable GBA linking functionality (requires SFML) | ON |
| ENABLE_LIRC | Enable LIRC support | OFF |
| ENABLE_FFMPEG | Enable ffmpeg A/V recording | ON on Linux and MSys2 |
| ENABLE_LTO | Compile with Link Time Optimization (gcc and clang only) | ON where works |
| ENABLE_GBA_LOGGING | Enable extended GBA logging | ON |
| ENABLE_SDL | Build the SDL port | OFF |
| ENABLE_CAIRO | Enable Cairo rendering for wxWidgets | OFF |
| ENABLE_DIRECT3D | Direct3D rendering for wxWidgets (Windows, **NOT IMPLEMENTED!!!**) | ON |
| ENABLE_XAUDIO2 | Enable xaudio2 sound output for wxWidgets (Windows only) | ON |
| ENABLE_OPENAL | Enable OpenAL for the wxWidgets port | ON |
## MSys2 Notes
@ -107,6 +111,9 @@ To run the resulting binary, you can simply type:
in the shell where you built it.
**NOTE:** you will not see debug console messages because it is a GUI app, we
will try to fix this for debug builds.
If you want to start the binary from e.g. a shortcut or Explorer, you will need
to put `c:\msys64\mingw32\bin` for 32 bit builds and `c:\msys64\mingw64\bin` for
64 bit builds in your PATH (to edit system PATH, go to Control Panel -> Advanced