117 lines
3.0 KiB
Markdown
117 lines
3.0 KiB
Markdown
# Building
|
|
|
|
You must have a 64-bit machine for building and running the project. Always
|
|
run your system updater before building and make sure you have the latest
|
|
video drivers for your card.
|
|
|
|
## Setup
|
|
|
|
### Windows
|
|
|
|
* Windows 8 or 8.1
|
|
* Visual Studio 2015
|
|
* [Python 2.7](http://www.python.org/download/releases/2.7.6/)
|
|
* If you are on Windows 8, you will also need the [Windows 8.1 SDK](http://msdn.microsoft.com/en-us/windows/desktop/bg162891)
|
|
|
|
Ensure Python is in your PATH (`C:\Python27\`).
|
|
|
|
I recommend using [Cmder](http://bliker.github.io/cmder/) for git and command
|
|
line usage.
|
|
|
|
#### Debugging
|
|
|
|
VS behaves oddly with the debug paths. Open the xenia project properties
|
|
and set the 'Command' to `$(SolutionDir)$(TargetPath)` and the
|
|
'Working Directory' to `$(SolutionDir)..\..`. You can specify flags and
|
|
the file to run in the 'Command Arguments' field (or use `--flagfile=flags.txt`).
|
|
|
|
### OSX
|
|
|
|
* Mac OSX 10.9+
|
|
* Xcode 5.1+
|
|
|
|
#### Debugging
|
|
|
|
Choose `Product > Scheme > Edit Scheme`. For xenia, alloy-sandbox, and the
|
|
other executables select the Run action on the left and set
|
|
`Options > Working Directory` to your root xenia/ git path.
|
|
|
|
## xenia-build
|
|
|
|
A simple build script is included to manage basic tasks such as building
|
|
dependencies.
|
|
|
|
./xenia-build.py --help
|
|
|
|
On Windows the `xb.bat` file enables you to issue all commands by just typing
|
|
`xb`. Note that you should run everything from the root `xenia\` folder.
|
|
|
|
On Linux/OSX the `xeniarc` bash file has some aliases that save some
|
|
keypresses:
|
|
|
|
source xeniarc
|
|
xb -> python xenia-build.py
|
|
xbb -> python xenia-build.py build
|
|
xbc -> python xenia-build.py clean
|
|
|
|
### Commands
|
|
|
|
#### setup
|
|
|
|
Run this on initial checkout to pull down all dependencies and submodules.
|
|
|
|
xb setup
|
|
|
|
#### pull
|
|
|
|
Does a `git pull` in addition to updating submodules and rebuilding dependencies
|
|
and gyp outputs. Use this, if possible, instead of git pull.
|
|
|
|
xb pull
|
|
|
|
#### gyp
|
|
|
|
Updates all of the supported gyp projects. If you're using Visual Studio or
|
|
Xcode to build or debug your projects you'll need to run this after you change
|
|
gyp/gypi files.
|
|
|
|
xb gyp
|
|
|
|
#### build
|
|
|
|
Builds all xenia targets using ninja. Release is built by default; specify
|
|
`--debug` to build the debug configuration.
|
|
|
|
xb build
|
|
xb build --debug
|
|
|
|
#### clean
|
|
|
|
Cleans just xenia outputs from the build/ directory. A following build will just
|
|
have the rebuild xenia and not all of the dependencies.
|
|
|
|
xb clean
|
|
|
|
#### nuke
|
|
|
|
Cleans up xenia outputs as well as all dependencies. A full build will be
|
|
required after this so only do this if you want to reclaim your disk space or
|
|
something is really wrong.
|
|
|
|
xb nuke
|
|
|
|
## Running
|
|
|
|
Use the wrapper shell scripts under `bin/` to run tools. They will ensure the
|
|
tools are built (but not that they are up to date) before running and allow
|
|
switching between the debug and release variants with `--debug`.
|
|
|
|
To make life easier you can use `--flagfile=myflags.txt` to specify all
|
|
arguments, including using `--target=my.xex` to pick an executable.
|
|
|
|
### xenia
|
|
|
|
Runs a xex.
|
|
|
|
./bin/xenia some.xex
|