aboutsummaryrefslogtreecommitdiff
path: root/scripts/ue_build_linux/README.md
diff options
context:
space:
mode:
authorMartin Ridgers <[email protected]>2023-02-06 14:36:50 +0100
committerGitHub <[email protected]>2023-02-06 14:36:50 +0100
commit0daa2ff00b8457f497a338eb79b951ce5215b27c (patch)
tree233ebf82e370699626acfc2375368aaa85427ce8 /scripts/ue_build_linux/README.md
parentremove legacy `export-project` and `import-project` (#222) (diff)
parentFixed wrong if-statement when checking for the presence of clang++ (diff)
downloadzen-0daa2ff00b8457f497a338eb79b951ce5215b27c.tar.xz
zen-0daa2ff00b8457f497a338eb79b951ce5215b27c.zip
Merge pull request #219 from EpicGames/linux-build
Scripts for building Linux binaries using UE's Linux toolchain.
Diffstat (limited to 'scripts/ue_build_linux/README.md')
-rwxr-xr-xscripts/ue_build_linux/README.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/ue_build_linux/README.md b/scripts/ue_build_linux/README.md
new file mode 100755
index 000000000..00249ddbe
--- /dev/null
+++ b/scripts/ue_build_linux/README.md
@@ -0,0 +1,32 @@
+# Build Zen with the UE Linux toolchain
+
+This folder contains scripts to build Zen using the UE Linux toolchain. This
+can be used to output binaries that meet the VFX Reference Platform versions.
+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 structure 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 sourced 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.