From 149a5c2faa8d59290b8b44717e504532e906aae2 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Wed, 18 Feb 2026 11:28:03 +0100 Subject: structured compute basics (#714) this change adds the `zencompute` component, which can be used to distribute work dispatched from UE using the DDB (Derived Data Build) APIs via zenserver this change also adds a distinct zenserver compute mode (`zenserver compute`) which is intended to be used for leaf compute nodes to exercise the compute functionality without directly involving UE, a `zen exec` subcommand is also added, which can be used to feed replays through the system all new functionality is considered *experimental* and disabled by default at this time, behind the `zencompute` option in xmake config --- thirdparty/xmake.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'thirdparty/xmake.lua') diff --git a/thirdparty/xmake.lua b/thirdparty/xmake.lua index f079d803d..07605a016 100644 --- a/thirdparty/xmake.lua +++ b/thirdparty/xmake.lua @@ -86,7 +86,7 @@ target("blake3") if is_os("windows") then add_cflags("/experimental:c11atomics") - add_cflags("/wd4245") -- conversion from 'type1' to 'type2', possible loss of data + add_cflags("/wd4245", {force = true}) -- conversion from 'type1' to 'type2', possible loss of data elseif is_os("macosx") then add_cflags("-Wno-unused-function") end -- cgit v1.2.3 From b927d006e8d33fcf8d2f5c1bce6b3c052839d32a Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Sun, 22 Feb 2026 21:03:33 +0100 Subject: disable msys logic in blake3 to fix Git Bash build issues --- thirdparty/xmake.lua | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'thirdparty/xmake.lua') diff --git a/thirdparty/xmake.lua b/thirdparty/xmake.lua index 07605a016..6fead7b50 100644 --- a/thirdparty/xmake.lua +++ b/thirdparty/xmake.lua @@ -92,9 +92,11 @@ target("blake3") end if is_arch("x86_64", "x64") then - if is_subhost("msys", "cygwin") then - add_files("blake3/c/*x86-64_windows_gnu.S") - elseif is_plat("windows") then + -- sbo: this breaks when using MINGW on windows (which is what you get in Git Bash), so just disable it + -- if is_subhost("msys", "cygwin") then + -- add_files("blake3/c/*x86-64_windows_gnu.S") + -- elseif is_plat("windows") then + if is_plat("windows") then add_files("blake3/c/*x86-64_windows_msvc.asm") else add_files("blake3/c/*x86-64_unix.S") -- cgit v1.2.3 From 9aac0fd369b87e965fb34b5168646387de7ea1cd Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Mon, 23 Feb 2026 11:19:52 +0100 Subject: implement yaml generation (#774) this implements a yaml generation strategy similar to the JSON generation where we just build a string instead of building a ryml tree. This also removes the dependency on ryml for reduced binary/build times. --- thirdparty/xmake.lua | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'thirdparty/xmake.lua') diff --git a/thirdparty/xmake.lua b/thirdparty/xmake.lua index 6fead7b50..7c99d910e 100644 --- a/thirdparty/xmake.lua +++ b/thirdparty/xmake.lua @@ -144,18 +144,3 @@ target("fmt") add_headerfiles("fmt/include/**.h") add_includedirs("fmt/include", {public=true}) -target("ryml") - set_kind("static") - set_group("thirdparty") - add_files("ryml/src/**.cpp") - add_files("ryml/ext/c4core/src/c4/*.cpp") - add_headerfiles("ryml/ext/c4core/src/**.hpp") - add_headerfiles("ryml/src/**.hpp") - add_includedirs("ryml/src", {public=true}) - add_includedirs("ryml/ext/c4core/src", {public=true}) - - if is_os("windows") then - add_cxxflags("/wd4668") -- 'symbol' : undefined macro is treated as '0' in '#if/#elif' preprocessor directives - else - add_cxxflags("-Wno-unused-but-set-variable", "-Wno-undef") - end -- cgit v1.2.3 From 1f83b48a20bf90f41e18867620c5774f3be6280d Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Wed, 4 Mar 2026 17:23:36 +0100 Subject: Fixing various compiler issues (#807) Compile fixes for various versions of gcc,clang (non-UE) --- thirdparty/xmake.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'thirdparty/xmake.lua') diff --git a/thirdparty/xmake.lua b/thirdparty/xmake.lua index 7c99d910e..a4a183910 100644 --- a/thirdparty/xmake.lua +++ b/thirdparty/xmake.lua @@ -66,7 +66,7 @@ target('cpr') if is_os("windows") then add_cxxflags("/wd4668") else - add_cxxflags("-Wno-undef") + add_cxxflags("-Wno-undef", "-Wno-deprecated-declarations") end add_packages("libcurl", {public=true}) -- cgit v1.2.3 From 19a117889c2db6b817af9458c04c04f324162e75 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Mon, 9 Mar 2026 10:50:47 +0100 Subject: Eliminate spdlog dependency (#773) Removes the vendored spdlog library (~12,000 lines) and replaces it with a purpose-built logging system in zencore (~1,800 lines). The new implementation provides the same functionality with fewer abstractions, no shared_ptr overhead, and full control over the logging pipeline. ### What changed **New logging core in zencore/logging/:** - LogMessage, Formatter, Sink, Logger, Registry - core abstractions matching spdlog's model but simplified - AnsiColorStdoutSink - ANSI color console output (replaces spdlog stdout_color_sink) - MsvcSink - OutputDebugString on Windows (replaces spdlog msvc_sink) - AsyncSink - async logging via BlockingQueue worker thread (replaces spdlog async_logger) - NullSink, MessageOnlyFormatter - utility types - Thread-safe timestamp caching in formatters using RwLock **Moved to zenutil/logging/:** - FullFormatter - full log formatting with timestamp, logger name, level, source location, multiline alignment - JsonFormatter - structured JSON log output - RotatingFileSink - rotating file sink with atomic size tracking **API changes:** - Log levels are now an enum (LogLevel) instead of int, eliminating the zen::logging::level namespace - LoggerRef no longer wraps shared_ptr - it holds a raw pointer with the registry owning lifetime - Logger error handler is wired through Registry and propagated to all loggers on registration - Logger::Log() now populates ThreadId on every message **Cleanup:** - Deleted thirdparty/spdlog/ entirely (110+ files) - Deleted full_test_formatter (was ~80% duplicate of FullFormatter) - Renamed snake_case classes to PascalCase (full_formatter -> FullFormatter, json_formatter -> JsonFormatter, sentry_sink -> SentrySink) - Removed spdlog from xmake dependency graph ### Build / test impact - zencore no longer depends on spdlog - zenutil and zenvfs xmake.lua updated to drop spdlog dep - zentelemetry xmake.lua updated to drop spdlog dep - All existing tests pass, no test changes required beyond formatter class renames --- thirdparty/xmake.lua | 6 ------ 1 file changed, 6 deletions(-) (limited to 'thirdparty/xmake.lua') diff --git a/thirdparty/xmake.lua b/thirdparty/xmake.lua index a4a183910..f929656a6 100644 --- a/thirdparty/xmake.lua +++ b/thirdparty/xmake.lua @@ -50,12 +50,6 @@ target('protozero') add_headerfiles("protozero/**.hpp") add_includedirs("protozero/include", {public=true}) -target('spdlog') - set_kind('headeronly') - set_group('thirdparty') - add_headerfiles("spdlog/include/spdlog/**.h") - add_includedirs("spdlog/include", {public=true}) - target('cpr') set_kind('static') set_group('thirdparty') -- cgit v1.2.3