aboutsummaryrefslogtreecommitdiff
path: root/xmake.lua
diff options
context:
space:
mode:
authorLiam Mitchell <[email protected]>2025-06-13 00:37:20 +0000
committerLiam Mitchell <[email protected]>2025-06-13 00:37:20 +0000
commit2f6103bb2b519ecd87575c604d1124c2473def67 (patch)
treeac2fdf10c758889ed6df825f0c606a7ec117030d /xmake.lua
parent5.6.12 (diff)
downloadzen-2f6103bb2b519ecd87575c604d1124c2473def67.tar.xz
zen-2f6103bb2b519ecd87575c604d1124c2473def67.zip
Update to recent UE toolchain, and link statically against toolchain libc++ and libc++abi
Diffstat (limited to 'xmake.lua')
-rw-r--r--xmake.lua10
1 files changed, 10 insertions, 0 deletions
diff --git a/xmake.lua b/xmake.lua
index 9b433689d..d2ba88df5 100644
--- a/xmake.lua
+++ b/xmake.lua
@@ -40,6 +40,15 @@ if is_plat("windows") then
add_requires("7z")
end
+-- If we're using the UE cross-compile toolchain, we need to ensure we link statically
+-- against the toolchain libc++ and libc++abi, as the system ones can differ in ABI
+-- leading to nasty crashes
+if is_plat("linux") and "$(env UE_TOOLCHAIN_DIR)" ~= "" then
+ add_ldflags("-static-libstdc++")
+ add_ldflags("$(projectdir)/thirdparty/ue-libcxx/lib64/libc++.a")
+ add_ldflags("$(projectdir)/thirdparty/ue-libcxx/lib64/libc++abi.a")
+end
+
add_requires("vcpkg::mimalloc")
if has_config("zensentry") then
@@ -107,6 +116,7 @@ if is_os("linux") or is_os("macosx") then
add_cxxflags("-Wno-unused-private-field")
add_cxxflags("-Wno-unused-value")
add_cxxflags("-Wno-unused-variable")
+ add_cxxflags("-Wno-vla-cxx-extension")
end
-- Turn use of undefined cpp macros into errors