aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/xmake.lua
Commit message (Collapse)AuthorAgeFilesLines
* add sentry for zen command (#373)Dan Engelbrecht2025-05-061-0/+21
| | | | * refactor sentry integration and add to zen command line tool * move add_ldflags("-framework Security")
* fixes for log timestamps (#304)Stefan Boberg2025-03-121-0/+1
| | | | | | * add GetTimeSinceProcessStart returning time since process start. implemented using https://github.com/maxliani/GetTimeSinceProcessStart/tree/main * fix fractions when using epoch mode. Previously it would show the fraction from the absolute time stamp and not relative to epoch * used GetTimeSinceProcessStart to offset the epoch so that it represents the process spawn time
* reduced memory churn using fixed_xxx containers (#236)Stefan Boberg2025-03-061-0/+1
| | | | | | * Added EASTL to help with eliminating memory allocations * Applied EASTL to eliminate memory allocations, primarily by using `fixed_vector` et al to use stack allocations / inline struct allocations Reduces memory events in traces by close to a factor of 10 in test scenario (starting editor for project F)
* Unity build fixes (#253)Stefan Boberg2024-12-051-0/+1
| | | some fixes to make everything build using unity build mode. Mostly moved code from anonymous namespaces into local impl namespace to avoid ambiguity in name resolution.
* Insights-compatible memory tracking (#214)Stefan Boberg2024-11-251-2/+16
| | | | | | | | | | | | | This change introduces support for tracing of memory allocation activity. The code is ported from UE5, and Unreal Insights can be used to analyze the output. This is currently only fully supported on Windows, but will be extended to Mac/Linux in the near future. To activate full memory tracking, pass `--trace=memory` on the commandline alongside `--tracehost=<ip>` or `-tracefile=<path>`. For more control over how much detail is traced you can instead pass some combination of `callstack`, `memtag`, `memalloc` instead. In practice, `--trace=memory` is an alias for `--trace=callstack,memtag,memalloc`). For convenience we also support `--trace=memory_light` which omits call stacks. This change also introduces multiple memory allocators, which may be selected via command-line option `--malloc=<allocator>`: * `mimalloc` - mimalloc (default, same as before) * `rpmalloc` - rpmalloc is another high performance allocator for multithreaded applications which may be a better option than mimalloc (to be evaluated). Due to toolchain limitations this is currently only supported on Windows. * `stomp` - an allocator intended to be used during development/debugging to help track down memory issues such as use-after-free or out-of-bounds access. Currently only supported on Windows. * `ansi` - fallback to default system allocator
* improved assert (#37)Dan Engelbrecht2024-04-041-0/+1
| | | | - Improvement: Add file and line to ASSERT exceptions - Improvement: Catch call stack when throwing assert exceptions and log/output call stack at important places to provide more context to caller
* add yaml serialization support (#3)Stefan Boberg2024-03-261-0/+2
| | | | | | | this change adds serialization of payloads as YAML, but not parsing. The implementation is somewhat based on the JSON path, and may be collapsed eventually as it is possible to serialize JSON format using the same code it also separates out the JSON serialization into a separate file for ease of maintenance any HTTP request response may be formatted as yaml by using a `.yaml` suffix or an `Accept: text/yaml` header
* package dependency clean-ups (#531)Stefan Boberg2023-11-131-6/+10
| | | | | | | | | | this change just cleans up dependency declarations in xmake.lua files, discovered while exploring a more to xrepo which catches dependency problems since it will not just place all includes in a single directory, unlike vcpkg. * removed spurious asio dependency from zenserver-test * removed rocksdb reference * add missing asio package dependency * removed catch2 reference (no longer available) * added explicit cpr reference * made some zencore package dependencies public (this is necessary because some public zencore headers pull in package headers. If you use a more strict package manager than vcpkg then you get compilation errors whenever these includes are pulled in unless you declare the dependency explicitly)
* implemented openssl-free encryption for Windows (#520)Stefan Boberg2023-11-081-0/+1
| | | trims 40% off the (Windows) executable size
* factored out some compiler definitions etc into zenbase (#517)Stefan Boberg2023-11-071-0/+1
| | | | | this is a header-only library which mostly contains definitions to support different platforms and compilers. It is part of the zen codebase but is intended to be consumable separately to zenbase etc to support standalone transport plug-ins and similar.
* minor fixes to zencore (#457)Stefan Boberg2023-10-091-0/+2
| | | | * AssertException constructor should be explicit * removed pragma comment
* * Added Guid::FromStringStefan Boberg2023-06-301-0/+1
| | | | | | | * Added LoadCompactBinaryObject from file to compactbinaryfile.cpp/h * Added SaveCompactBinary(BinaryWriter& Ar, ...) functions * Added ZEN_PLATFORM_NAME define * Added SystemMetrics functionality to query system properties (see zencore/system.h)
* xmake dependency fixesStefan Boberg2023-06-161-21/+2
| | | | | - curl is a dependency of zenhttp, not zencore - zencore only depends on crypto functions from openssl
* Remove ATL header usage (#306)Stefan Boberg2023-05-151-0/+6
| | | ATL has been used here and there as a convenience. Given that this is a legacy component and not always something which gets installed along with the compiler we hereby remove the dependency altogether in favour of our own simple wrappers
* cleaned up how Oodle is incorporatedStefan Boberg2023-05-021-0/+2
| | | | changed win64 to be more in line with other platforms wrt xmake config
* moved source directories into `/src` (#264)Stefan Boberg2023-05-021-0/+61
* moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees