Set up a VM with Microsoft Windows Server 2016 Base as OS and 50GB of storage space
The instructions below are based on steps to build Chromium
- Download & Run Visual Studio 2017 installer
- Install the following components
Desktop development with C++- Make sure
Visual C++ ATL for x86 and x64andVisual C++ MFC for x86 and x64are also installed
- Make sure
Windows 10 SDK version 10.0.17134is installed. - Install
Debugging Tools for Windows:
Control Panel → Programs → Programs and Features → Select the “Windows Software Development Kit” → Change → Change → Check “Debugging Tools For Windows” → Change
- Download Depot Tools
- Extract to
C:\src\depot_tools - Add
C:\src\depot_toolsto yourPATHenvironment variable (add it at the beginning to make sure it has precedence over other paths) - Add
DEPOT_TOOLS_WIN_TOOLCHAINenvironment variable with value0
Configure git as follows from the command prompt:
> git config --global user.name "My Name"
> git config --global user.email "my-name@chromium.org"
> git config --global core.autocrlf false
> git config --global core.filemode false
> git config --global branch.autosetuprebase alwaysExecute the following from a command prompt:
> mkdir v8 && cd v8
> fetch v8
> cd v8
> git checkout branch-heads/7.0
> python ./tools/dev/v8gen.py -vv x64.release -- v8_monolithic=true v8_use_external_startup_data=false use_cxx11=true use_pic=true is_clang=false treat_warnings_as_errors=true
> ninja -C .\out.gn\x64.release v8_monolithAfter compilation, verify that a file named v8_monolith.lib is present under out.gn\x64.release\obj\
- Install the following additional components using the Visual Studio 2017 installer:
Windows 8.1 SDKWindows Universal CRT SDK
- Clone the EventStore repository
> git clone https://github.com/EventStore/EventStore.git- Open the
EventStore.Projections.v8Integration.slnproject file located undersrc/EventStore.Projections.v8Integrationwith Microsoft Visual Studio 2017 - Select the Build Configuration:
x64/release - Change the following under the project's properties:
General- Make sure the target platform version is set toWindows 8.1VC++ Directories→Include Directories- Change the path to your localv8\includepathLinker→General→Additional Library Directories- Change the path to your localv8\out.gn\x64.release\objpathLinker→Input- Make sure the following libraries are included:v8_monolith.lib,DbgHelp.lib,winmm.lib,Shlwapi.lib
- Build the solution
This should generate js1.dll DLL under src\libs\x64\win\