aboutsummaryrefslogtreecommitdiff
path: root/xmake.lua
Commit message (Collapse)AuthorAgeFilesLines
* cleaned up top level xmake (#125)Stefan Boberg2024-08-191-14/+12
|
* enable mimalloc on arm64 (#120)Stefan Boberg2024-08-161-10/+8
| | | * enable mimalloc on arm64
* enable sentry on arm64 (#119)Stefan Boberg2024-08-151-2/+3
| | | * enable sentry on arm64
* bump vcpkg and xmake to latest (#40)Dan Engelbrecht2024-04-241-1/+1
| | | - Improvement: Bumped xmake to 2.9.1 and vcpkg version to 2024.03.25
* 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
* clean up test linking (#4)Dan Engelbrecht2024-03-141-2/+4
| | | | | | | - Improvement: Add zenhttp-test and zenutil-test - Improvement: Moved cachepolicy test to cachepolicy.cpp - Improvement: Renamed cachestore tests from z$ to cachestore - Improvement: Moved test linking so test for a lib is linked by <lib>-test - Improvement: Removed HttpRequestParseRelativeUri in httpstructuredcache.cpp and use the one in cacherequests.h instead
* changed RPC recording to MPSC setup (#638)Stefan Boberg2024-01-311-0/+6
| | | fixes rare race condition when using RPC recording for long periods of time
* embed html frontend content as binary compiled data (#559)Dan Engelbrecht2023-11-231-0/+11
| | | | | | - Feature: Added xmake task `updatefrontend` which updates the zip file containing the frontend html (`/src/zenserver/frontend/html.zip`) - Improvement: The frontend html content is no longer appended at the end of the executable which prevented signing, instead it is compiled in from the `/src/zenserver/frontend/html.zip` archive - Improvement: MacOS now does ad-hoc code signing by default when issuing `xmake bundle`, signing with proper cert is done on CI builds
* use dynamic port assignment for tests (#545)Stefan Boberg2023-11-171-0/+7
| | | this change replaces hard-coded port numbers in tests with dynamically assigned ports, to avoid potential issues around socket lifetimes and re-use policies
* schema bump (#544)Dan Engelbrecht2023-11-151-1/+1
|
* implemented openssl-free encryption for Windows (#520)Stefan Boberg2023-11-081-1/+3
| | | trims 40% off the (Windows) executable size
* removed zstd references (#521)Stefan Boberg2023-11-081-2/+1
|
* 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.
* bump xmake CI version to 2.8.2 (#514)Dan Engelbrecht2023-11-071-0/+1
| | | | * bump xmake CI version to 2.8.2 * show test times in log
* spdlog implementation hiding (#498)Stefan Boberg2023-11-061-3/+2
| | | | | | | | | this change aims to hide logging internals from client code, in order to make it easier to extend and take more control over the logging process in the future. As a bonus side effect, the generated code is much tighter (net delta around 2.5% on the resulting executable which includes lots of thirdparty code) and should take less time to compile and link. Client usage via macros is pretty much unchanged. The main exposure client code had to spdlog internals before was the use of custom loggers per subsystem, where it would be common to have `spdlog::logger` references to keep a reference to a logger within a class. This is now replaced by `zen::LoggerRef` which currently simply encapsulates an actual `spdlog::logger` instance, but this is intended to be an implementation detail which will change in the future. The way the change works is that we now handle any formatting of log messages in the zencore logging subsystem instead of relying on `spdlog` to manage this. We use the `fmt` library to do the formatting which means the client usage is identical to using `spdlog`. The formatted message is then forwarded onto any sinks etc which are still implememted via `spdlog`.
* set up arch properly when running tests (mac) (#505)Stefan Boberg2023-10-281-0/+2
|
* statsd metrics reporting (#496)Stefan Boberg2023-10-251-0/+1
| | | | | added support for reporting metrics via statsd style UDP messaging, which is supported by many monitoring solution providers this change adds reporting only of three cache related metrics (hit/miss/put) but this should be extended to include more metrics after additional evaluation
* restructured transports SDK for easier UE integration (#470)Stefan Boberg2023-10-121-5/+1
|
* pluggable asio transport (#460)Stefan Boberg2023-10-111-0/+1
| | | | | | | | | added pluggable transport based on asio. This is in an experimental state and is not yet a replacement for httpasio even though that is the ultimate goal also moved plugin API header into dedicated part of the tree to clarify that it is meant to be usable in isolation, without any dependency on zencore et al moved transport implementations into dedicated source directory in zenhttp note that this adds code to the build but nothing should change at runtime since the instantiation of the new code is conditional and is inactive by default
* remove legacy compute interfaces (#461)Stefan Boberg2023-10-111-8/+0
| | | | | * removed legacy compute code, which will be replaced with a new implementation in the future * also updated references to Jupiter storage
* experimental pluggable transport support (#436)Stefan Boberg2023-10-101-0/+4
| | | this change adds a `--http=plugin` mode where we support pluggable transports. Currently this defaults to a barebones blocking winsock implementation but there is also support for dynamic loading of transport plugins, which will be further developed in the near future.
* added support for sln on Mac (#421)Stefan Boberg2023-09-221-4/+10
| | | this makes it so users can use xmake sln on Mac as well as Windows to generate IDE files
* added linker/compile options for determinism (#420)Stefan Boberg2023-09-221-2/+6
|
* VFS implementation for local storage service (#396)Stefan Boberg2023-09-201-0/+1
| | | currently, only Windows (using Projected File System) is supported
* revive UE toolchain build (#343)Dan Engelbrecht2023-08-221-1/+2
| | | | | | | | | * add comment about 7z usage in xmake bundle * add ue-libcxx lib/headers and licence + tps * update get_ue_toolchain.sh to use embedded libc++ and decouple from p4 * clearer output when falling back to zip from 7z * update ci scripts to use ue toolchain on linux * updated linux build README.md * changelog
* update vcpkg dependencies (#356)Dan Engelbrecht2023-08-111-6/+17
| | | | | | * bump vcpkg version * fmt lib 10 fixes * xmake dependencies (with linux workarounds) * changelog
* add 7z dependency to xmake fileStefan Boberg2023-05-151-0/+3
|
* fix return code on tests (#284)Dan Engelbrecht2023-05-101-1/+1
| | | fix help for xmake test
* moved source directories into `/src` (#264)Stefan Boberg2023-05-021-7/+7
| | | | | | * moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees
* fix sentry report callstack (#256)Dan Engelbrecht2023-04-251-0/+1
| | | | | | | * Include file, line and function in sentry log error messages * use sync direct error logger to get correct call stacks on error * changelog * use d1trimfile on windows to shorten file path on windows * constexpr -> consteval
* fixed dashboard file serving bug (#255)Stefan Boberg2023-04-241-0/+2
| | | | | a recent change which introduced support for specifying accept: implicitly via the file extension in the URI caused fallout in the dashboard which would fail to serve any content because the extension was stripped from the RelativeUri accessor. This change fixes that by retaining a copy of the Uri string view which includes the suffix additionally, in order to test this change with both asio/http.sys paths I made the path used for all tests configurable in zenserver-test which involved pulling in a change from sb/proto which makes testing configuration a bit more flexible
* tweaks for enabling unity buildsStefan Boberg2023-04-191-0/+1
| | | | | | | | | | mostly changes to make sure anonymous namespaces don't clash and a change to avoid windows headers from leaking into other compilation units unity builds are not yet enabled by default, but can be enabled by uncommenting this line in the root `xmake.lua` ``` --add_rules("c++.unity_build") ```
* lock cxxopts to v3.0.0 for nowStefan Boberg2023-03-271-1/+1
| | | | | | v3.1.x contains breaking changes to exceptions this is a temporary workaround
* removed catch2 (#241)Stefan Boberg2023-03-071-8/+0
| | | removed catch2 since it's de facto not supported due to the lack of multithreading support
* junit test reporting (#239)Dan Engelbrecht2023-02-231-9/+49
| | | | - Feature: `--junit` switch to `xmake test` to generate junit style reports of tests. - Feature: CI build on GitHub now uploads junit test reports as artifact to the check for PR validation and mainline validation
* added `xmake sln` task which replaces `generate_projects.bat`Stefan Boberg2023-02-011-0/+9
|
* mergeStefan Boberg2023-01-261-14/+9
|\
| * removed HttpLaunchService and related codeStefan Boberg2023-01-241-7/+0
| | | | | | | | this has been used for testing purposes but should not be in the production executable
| * removed faux vfs config optionStefan Boberg2023-01-241-8/+0
| |
| * added precommit taskStefan Boberg2023-01-241-0/+9
| | | | | | | | | | this makes it easier to trigger a local pre-commit check which is useful for ensuring clang-format etc has been applied properly prior to a commit
* | removed experimental mesh codeStefan Boberg2023-01-261-8/+0
|/ | | | should be replaced with a proper implementation later
* Use BLAKE3 port from vcpkg (#141)Stefan Boberg2022-09-201-0/+1
| | | | use BLAKE3 port from vcpkg instead of in-tree binaries
* Make cas storage an hidden implementation detail of CidStore (#130)v0.1.4-pre6v0.1.4-pre5Dan Engelbrecht2022-06-171-1/+1
| | | | | | | | | | | | | | | | | | - Bumped ZEN_SCHEMA_VERSION - CasStore no longer a public API, it is hidden behind CidStore - Moved cas.h from public header folder - CidStore no longer maps from Cid -> Cas, we store entries in Cas under RawHash - CasStore now decompresses data to validate content (matching against RawHash) - CasChunkSet renames to HashKeySet and put in separate header/cpp file - Disabled "Chunk" command for now as it relied on CAS being exposed as a service - Changed CAS http service to Cid http server - Moved "Run" command completely inside ZEN_WITH_EXEC_SERVICES define - Removed "cas.basic" test - Uncommented ".exec.basic" test and added return-skip at start of test - Moved ScrubContext to separate header file - Renamed CasGC to GcManager - Cleaned up configuration passing in cas store classes - Removed CAS stuff from GcContext and clarified naming in class - Remove migration code
* merged from mainStefan Boberg2022-06-161-3/+0
|
* build: added catch2 optionStefan Boberg2022-06-101-1/+11
| | | | also added some comments for the vfs option
* Update xmake.luaStefan Boberg2022-06-071-1/+1
| | | Lock catch2 to 2.13.8 to sidestep build issues with 3.x
* remove debug printDan Engelbrecht2022-06-021-1/+0
|
* move envv0.1.2-pre1Dan Engelbrecht2022-06-021-1/+1
|
* add debug print for nowv0.1.2-pre0Dan Engelbrecht2022-06-021-0/+1
|
* pick up version number from env variable set by githubDan Engelbrecht2022-06-021-1/+3
|