nucleus/docs/development/building.md
Alexandro Sanchez Bach 38bd32dc0f Using vcpkg for zlib
2017-10-29 15:37:22 +01:00

40 lines
2.5 KiB
Markdown

Building
========
## General
If you want to modify the shader parsers of the *graphics* library frontends you will need to modify the `*.l` and `*.y` files and compile them back to the `*.cpp` files with [Flex](http://flex.sourceforge.net/) and [Bison](https://www.gnu.org/software/bison/) respectively.
If you want to modify the shaders used by the *ui* library you will need to modify the `*.glsl` files and compile them to `*.spv` binaries using [Glslang](https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/). Choose the proper shader type based on the filename suffix.
## Platforms
Below are the instructions to compile Nucleus for different platforms. If you want to cross-compile Nucleus, which is particularly relevant for mobile targets, details for each host compiling platform are provided as well.
### Windows
* __Compiling on Windows__: Install [Visual Studio 2015](http://www.visualstudio.com/). Install all dependencies with [vcpkg](https://github.com/Microsoft/vcpkg): `vcpkg install zlib:x64-windows`. Open `nucleus.sln` and build the project `nucleus-windows`. Alternatively, if you have the [Windows 10 SDK](https://dev.windows.com/en-us/downloads/windows-10-sdk) installed you can compile the Universal Windows Platform wrapper by building the project `nucleus-uwp`.
### Windows Phone
* __Compiling on Windows__: Install [Visual Studio 2015](http://www.visualstudio.com/) along with the [Windows 10 SDK](https://dev.windows.com/en-us/downloads/windows-10-sdk). Open `nucleus.sln` and build the project `nucleus-uwp`.
### Linux
* __Compiling on Linux__: Follow the `.travis.yml` file.
### Android
* __Compiling on Windows__: Install [Visual Studio 2015](http://www.visualstudio.com/) along with the [Android SDK](http://developer.android.com/sdk/index.html) and [Android NDK](https://developer.android.com/tools/sdk/ndk/index.html#download). Open `nucleus.sln` and build the project `nucleus-android`.
* __Compiling on Linux__: *TODO*.
* __Compiling on OS X__: *TODO*.
### iOS
* __Compiling on Windows__: Install [Visual Studio 2015](http://www.visualstudio.com/). Install [OS X](http://www.apple.com/osx/) in a virtual machine, e.g. via [VirtualBox](https://www.virtualbox.org/), and ensure that both your host and virtual machine share a network. Install [Xcode](https://developer.apple.com/xcode/) on the virtual machine. [...]. On your host machine, open `nucleus.sln` and build the project `nucleus-ios`. Observe how nothing works. Cry.
* __Compiling on OS X__: Buy a Mac. Cry.