Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pmed/v8-nuget
NuGet package for V8 JavaScript Engine
https://github.com/pmed/v8-nuget
Last synced: 10 days ago
JSON representation
NuGet package for V8 JavaScript Engine
- Host: GitHub
- URL: https://github.com/pmed/v8-nuget
- Owner: pmed
- Created: 2016-08-29T14:00:23.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-11-09T11:21:26.000Z (12 months ago)
- Last Synced: 2024-05-19T14:22:10.580Z (6 months ago)
- Language: Python
- Size: 8.04 MB
- Stars: 88
- Watchers: 7
- Forks: 25
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NuGet package for V8 JavaScript Engine
This packages contain prebuilt V8 binaries, debug symbols, headers and
libraries required to embed the V8 JavaScript engine into a C++ project.| Package | Version
|-----------------------------|----------------------------------------------------------------------------------------------------------------------|
|V8 x64 for Visual Studio 2022|[![NuGet](https://img.shields.io/nuget/v/v8-v143-x64.svg)](https://www.nuget.org/packages/v8-v143-x64/)|
|V8 x86 for Visual Studio 2022|[![NuGet](https://img.shields.io/nuget/v/v8-v143-x86.svg)](https://www.nuget.org/packages/v8-v143-x86/)|
|V8 x64 for Visual Studio 2019|[![NuGet](https://img.shields.io/nuget/v/v8-v142-x64.svg)](https://www.nuget.org/packages/v8-v142-x64/)|
|V8 x86 for Visual Studio 2019|[![NuGet](https://img.shields.io/nuget/v/v8-v142-x86.svg)](https://www.nuget.org/packages/v8-v142-x86/)|
|V8 x64 for Visual Studio 2017|[![NuGet](https://img.shields.io/nuget/v/v8-v141-x64.svg)](https://www.nuget.org/packages/v8-v141-x64/)|
|V8 x86 for Visual Studio 2017|[![NuGet](https://img.shields.io/nuget/v/v8-v141-x86.svg)](https://www.nuget.org/packages/v8-v141-x86/)|
|V8 x64 for Visual Studio 2015|[![NuGet](https://img.shields.io/nuget/v/v8-v140-x64.svg)](https://www.nuget.org/packages/v8-v140-x64/)|
|V8 x86 for Visual Studio 2015|[![NuGet](https://img.shields.io/nuget/v/v8-v140-x86.svg)](https://www.nuget.org/packages/v8-v140-x86/)|
|V8 x64 for Visual Studio 2013|[![NuGet](https://img.shields.io/nuget/v/v8-v120-x64.svg)](https://www.nuget.org/packages/v8-v120-x64/)|
|V8 x86 for Visual Studio 2013|[![NuGet](https://img.shields.io/nuget/v/v8-v120-x86.svg)](https://www.nuget.org/packages/v8-v120-x86/)|
|V8 x64 for Visual Studio 2017 XP platform toolset|[![NuGet](https://img.shields.io/nuget/v/v8-v141_xp-x64.svg)](https://www.nuget.org/packages/v8-v141_xp-x64/)|
|V8 x86 for Visual Studio 2017 XP platform toolset|[![NuGet](https://img.shields.io/nuget/v/v8-v141_xp-x86.svg)](https://www.nuget.org/packages/v8-v141_xp-x86/)|
|V8 x64 for Visual Studio 2015 XP platform toolset|[![NuGet](https://img.shields.io/nuget/v/v8-v140_xp-x64.svg)](https://www.nuget.org/packages/v8-v140_xp-x64/)|
|V8 x86 for Visual Studio 2015 XP platform toolset|[![NuGet](https://img.shields.io/nuget/v/v8-v140_xp-x86.svg)](https://www.nuget.org/packages/v8-v140_xp-x86/)|
|V8 x64 for Visual Studio 2013 XP platform toolset|[![NuGet](https://img.shields.io/nuget/v/v8-v120_xp-x64.svg)](https://www.nuget.org/packages/v8-v120_xp-x64/)|
|V8 x86 for Visual Studio 2013 XP platform toolset|[![NuGet](https://img.shields.io/nuget/v/v8-v120_xp-x86.svg)](https://www.nuget.org/packages/v8-v120_xp-x86/)|## Usage
To use V8 in a project install the package `v8-$PlatformToolset-$Platform.$Version`
from a console with `nuget install` command or from inside of Visual Studio
(see menu option *Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution...*)
where* `$PlatformToolset` is the C++ toolset version used in Visual Studio:
* `v120` - for Visual Studio 2013
* `v140` - for Visual Studio 2015
* `v141` - for Visual Studio 2017
* `v142` - for Visual Studio 2019
* `v120_xp` - for Visual Studio 2013 XP platform toolset
* `v140_xp` - for Visual Studio 2015 XP platform toolset
* `v141_xp` - for Visual Studio 2017 XP platform toolset
* `$Platform` is a target platform type, currently `x86` or `x64`.* `$Version` is the actual V8 version, one of https://chromium.googlesource.com/v8/v8.git/+refs
There are 3 package kinds:
* `v8-$PlatformToolset-$Platform.$Version` - contains developer header and
library files; depends on `v8.redist` package* `v8.redist-$PlatformToolset-$Platform.$Version` - prebuilt V8 binaries:
dlls, blobs, etc.* `v8.symbols-$PlatformToolset-$Platform.$Version` - debug symbols for V8:
[pdb files](https://en.wikipedia.org/wiki/Program_database)After successful packages installation add `#include ` in a C++ project
and build it. All necessary files (*.lib, *.dll, *.pdb) would be referenced
in the project automatically with MsBuild property sheets.## How to build
This section is mostly for the package maintainers who wants to update V8.
Tools required to build V8 NuGet package on Windows:
* Visual C++ toolset (version >=2013)
* Python 2.X
* Git
* NuGet (https://dist.nuget.org/index.html)To build V8 and make NuGet packages:
1. Run `build.py` with optional command-line arguments.
2. Publish `nuget/*.nupkg` files after successful build.
Build script `build.py` supports command-line arguments to specify package build options:1. V8 version branch/tag name (or `V8_VERSION` environment variable), default is `lkgr` branch
2. Target platform (or `PLATFORM` evnironment variable), default is [`x86`, `x64`]
3. Configuration (or `CONFIGURATION` environment variable), default is [`Debug`, `Release`]
4. XP platofrm toolset usage flag (or `XP` environment variable), default is not set