diff options
| author | Per Larsson <[email protected]> | 2021-09-09 13:57:53 +0200 |
|---|---|---|
| committer | Per Larsson <[email protected]> | 2021-09-09 13:57:53 +0200 |
| commit | f4e4b6905726e3945d1bafa4d72277576f3d8017 (patch) | |
| tree | e59e24917510a36eef29f51d10567548e0b92977 | |
| parent | Parse Accept mime type. (diff) | |
| parent | Update README.md (diff) | |
| download | zen-f4e4b6905726e3945d1bafa4d72277576f3d8017.tar.xz zen-f4e4b6905726e3945d1bafa4d72277576f3d8017.zip | |
Merge branch 'main' of https://github.com/EpicGames/zen
| -rw-r--r-- | README.md | 41 | ||||
| -rw-r--r-- | zenfs_common.props | 3 |
2 files changed, 37 insertions, 7 deletions
@@ -3,16 +3,15 @@ This is the implementation of the local storage service for UE5. It is intended to be deployed on user machines either as a daemon or launched ad hoc as required during of editor/cooker/game startup -This repo also contains a VFS prototype (zenfs) which is currently not functional, it's a prototype -which has decayed, hopefully it can be revisited at some point. +We currently only support building and running the server on Windows. Linux and Mac support is in progress -## Setup +## Building on Windows -We currently only support building and running the server on Windows. Linux and Mac will be supported before UE5 release +### Windows Setup To build the code you will need Visual Studio 2019 (we use c++20 features), git and vcpkg. -* Install Visual Studio 2019 Version 16.9.4 or later (16.10 is recommended as it contains improvements to debug codegen which have a pretty significant impact when iterating in debug mode) +* Install Visual Studio 2019 Version 16.10 or later * Install [git](https://git-scm.com/download/win) We use vcpkg to manage some libraries. Right now it's not set up on a project local @@ -26,6 +25,11 @@ basis and requires manual bootstrap so you will need to do the following at leas Now you are ready to start building! +### Building with Visual Studio + +We currently require Visual Studio 2019 Version 16.10 or later. Visual Studio 2022 can also be used, but +currently building with the VS2022 toolchain has not been tested (please leave the sln/vcxproj un-upgraded). + * clone the `zen` repository if you haven't already * run `git clone https://github.com/EpicGames/zen.git`, or use Visual Studio integrated git to clone and open the repo @@ -33,7 +37,30 @@ Now you are ready to start building! http.sys requires elevation) * you can now build and run `zenserver` as usual from Visual Studio * third-party dependencies will be built the first time via the `vcpkg` integration. This is not as - fast as it could be (it does not go wide) but should only happen on the first build + fast as it could be (it does not go wide) but should only happen on the first build and will leverage + a local build cache. + +### Building with xmake + +* Install xmake from https://github.com/xmake-io/xmake/releases/tag/v2.5.7 ( later versions should also be ok) + * Once installed you may want to update to latest using `xmake update dev` to get some bugfixes for + scheduling compiles on very high core count workstations (this note applies to 2.5.7) + +You can then build from the command line: + +`d:\zen> xmake -y` (the `-y` is only really useful the first build when xmake prompts for vcpkg package installation confirmation) + +It's also possible to generate project files for Visual Studio via + +`d:\zen> xmake project -k vsxmake` + +## Building on Linux + +... coming soon + +## Building on Mac + +... coming soon # Implementation Notes @@ -55,7 +82,7 @@ To run the pre-commit scripts you'll need a few things: * We rely on clang-format for consistent code formatting. You can install version 12 or later from https://llvm.org/builds/ * The helper scripts also depend on Python 3.x, which you may install from https://www.python.org/downloads/windows/ (I am presently using 3.9.5 which works). NOTE: *do* check the option to add Python to your PATH! -Once you have those dependencies, you can simply run `prepare_commit.bat` to ensure the code is properly formatted and has the Epic copyright header comment +Once you have those dependencies, you can simply run `prepare_commit.bat` to ensure the code is properly formatted and has the Epic copyright header comment. I'm sure there's a better way to integrate this into the git submit flow but my git-fu is not strong enough yet to know how to do that best. # Debugging diff --git a/zenfs_common.props b/zenfs_common.props index 4ab89e80f..f550ff929 100644 --- a/zenfs_common.props +++ b/zenfs_common.props @@ -13,6 +13,9 @@ <TreatWarningAsError>true</TreatWarningAsError> <PreprocessorDefinitions>_UNICODE;UNICODE;_WIN32_WINNT=0x0A00 ;%(PreprocessorDefinitions)</PreprocessorDefinitions> </ClCompile> + <Link> + <IgnoreSpecificDefaultLibraries>msvcrt</IgnoreSpecificDefaultLibraries> + </Link> </ItemDefinitionGroup> <ItemGroup /> </Project>
\ No newline at end of file |