aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/xmake.lua
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2025-11-07 14:49:13 +0100
committerGitHub Enterprise <[email protected]>2025-11-07 14:49:13 +0100
commit24e43a913f29ac3b314354e8ce5175f135bcc64f (patch)
treeca442937ceeb63461012b33a4576e9835099f106 /src/zencore/xmake.lua
parentget oplog attachments (#622) (diff)
downloadzen-24e43a913f29ac3b314354e8ce5175f135bcc64f.tar.xz
zen-24e43a913f29ac3b314354e8ce5175f135bcc64f.zip
switch to xmake for package management (#611)
This change removes our dependency on vcpkg for package management, in favour of bringing some code in-tree in the `thirdparty` folder as well as using the xmake build-in package management feature. For the latter, all the package definitions are maintained in the zen repo itself, in the `repo` folder. It should now also be easier to build the project as it will no longer depend on having the right version of vcpkg installed, which has been a common problem for new people coming in to the codebase. Now you should only need xmake to build. * Bumps xmake requirement on github runners to 2.9.9 to resolve an issue where xmake on Windows invokes cmake with `v144` toolchain which does not exist * BLAKE3 is now in-tree at `thirdparty/blake3` * cpr is now in-tree at `thirdparty/cpr` * cxxopts is now in-tree at `thirdparty/cxxopts` * fmt is now in-tree at `thirdparty/fmt` * robin-map is now in-tree at `thirdparty/robin-map` * ryml is now in-tree at `thirdparty/ryml` * sol2 is now in-tree at `thirdparty/sol2` * spdlog is now in-tree at `thirdparty/spdlog` * utfcpp is now in-tree at `thirdparty/utfcpp` * xmake package repo definitions is in `repo` * implemented support for sanitizers. ASAN is supported on windows, TSAN, UBSAN, MSAN etc are supported on Linux/MacOS though I have not yet tested it extensively on MacOS * the zencore encryption implementation also now supports using mbedTLS which is used on MacOS, though for now we still use openssl on Linux * crashpad * bumps libcurl to 8.11.0 (from 8.8.0) which should address a rare build upload bug
Diffstat (limited to 'src/zencore/xmake.lua')
-rw-r--r--src/zencore/xmake.lua36
1 files changed, 19 insertions, 17 deletions
diff --git a/src/zencore/xmake.lua b/src/zencore/xmake.lua
index 24011d300..ef462ad03 100644
--- a/src/zencore/xmake.lua
+++ b/src/zencore/xmake.lua
@@ -21,36 +21,38 @@ target('zencore')
end
if has_config("zenmimalloc") then
- add_packages("vcpkg::mimalloc")
+ add_packages("mimalloc")
end
add_deps("zenbase")
add_deps("spdlog")
add_deps("utfcpp")
add_deps("oodle")
+ add_deps("blake3")
add_deps("ue-trace")
add_deps("timesinceprocessstart")
+ add_deps("doctest")
+ add_deps("fmt")
+ add_deps("ryml")
+
+ add_packages("json11")
+ if is_plat("linux") then
+ add_packages("openssl3") -- required for crypto
+ elseif is_plat("macosx") then
+ add_packages("mbedtls") -- required for crypto
+ end
+
add_packages(
- "vcpkg::blake3",
- "vcpkg::json11",
- "vcpkg::ryml",
- "vcpkg::c4core",
- "vcpkg::openssl" -- required for crypto
- )
-
- add_packages(
- "vcpkg::doctest",
- "vcpkg::eastl",
- "vcpkg::fmt",
- "vcpkg::gsl-lite",
- "vcpkg::lz4",
- "vcpkg::xxhash",
+ "gsl-lite",
+ "eastl",
+ "lz4",
+ "xxhash",
{public=true}
)
if has_config("zensentry") then
- add_packages("vcpkg::sentry-native")
+ add_packages("sentry-native")
if is_os("windows") then
add_cxxflags("/wd4996")
@@ -67,7 +69,7 @@ target('zencore')
-- be specified after the former with GCC-like toolchains. xmake however
-- is unaware of this and simply globs files from vcpkg's output. The
-- line below forces breakpad_client to be to the right of sentry_native
- add_syslinks("breakpad_client")
+ -- add_syslinks("breakpad_client")
end
if is_plat("macosx") then