aboutsummaryrefslogtreecommitdiff
path: root/scripts/ue_build_linux/README.md
blob: 8cd589610bc583fab1305e0a1074b91c234f9665 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Build Zen with the UE Linux toolchain

This folder contains scripts to build Zen using the UE Linux toolchain. It
works by using the --sysroot= option to redirect compilers and linkers to find
headers and libraries. There are a few components involved;

1) get_ue_toolchain.sh <toolchain_dir>

This will download the required components from Perforce and struicture them in
such a way that they can be used by both vcpkg and xmake when building Zen.

2) ue_build.sh <toolchain_dir> <prog> [args...] 

Given the toolchain location downloaded in step (1), this script sets up a
suitable environment and execs the "prog [args...]". It is expected that this
is used to invoke xmake to build Zen;

```
$ scripts/ue_linux_build/ue_build.sh ~/uetools xmake config --mode=debug --vcpkg=~/vcpkg
$ scripts/ue_linux_build/ue_build.sh ~/uetools xmake build
```

It is possible that `--toolchain=clang` may be required as a configuration
option. The ue_build.sh script can also be source into the current shell,,
although it is worth noting that this has never been tried.

3) clang / clang++

These acts as shims to the binaries in `toolchain_dir`, adding in the required
command line arguments to use the correct headers and libraries. The ue_build.sh
script adjusts $PATH appropriately.