зеркало из https://github.com/microsoft/SEAL.git
More README changes and update .Net projects to output to dotnet/bin and dotnet/lib
This commit is contained in:
Родитель
2be5004a88
Коммит
d0968c68c2
48
README.md
48
README.md
|
@ -29,20 +29,20 @@ orders of magnitude worse than in Release mode.
|
||||||
#### Library
|
#### Library
|
||||||
|
|
||||||
Build the Microsoft SEAL project (native/src/SEAL.vcxproj) from SEAL.sln. Building Microsoft SEAL results
|
Build the Microsoft SEAL project (native/src/SEAL.vcxproj) from SEAL.sln. Building Microsoft SEAL results
|
||||||
in the static library seal.lib to be created in native/lib/$(Platform)/$(Configuration). When
|
in the static library seal.lib to be created in `native/lib/$(Platform)/$(Configuration)`. When
|
||||||
linking with applications, you need to add native/src/ (full path) as an include directory
|
linking with applications, you need to add `native/src/` (full path) as an include directory
|
||||||
for SEAL header files.
|
for SEAL header files.
|
||||||
|
|
||||||
#### Examples
|
#### Examples
|
||||||
|
|
||||||
Build the SEALExamples project (native/examples/SEALExamples.vcxproj) from SEAL.sln.
|
Build the SEALExamples project (`native/examples/SEALExamples.vcxproj`) from SEAL.sln.
|
||||||
This results in an executable sealexamples.exe to be created in native/bin/$(Platform)/$(Configuration).
|
This results in an executable sealexamples.exe to be created in `native/bin/$(Platform)/$(Configuration)`.
|
||||||
|
|
||||||
#### Unit tests
|
#### Unit tests
|
||||||
|
|
||||||
The unit tests require the Google Test framework to be installed. The appropriate
|
The unit tests require the Google Test framework to be installed. The appropriate
|
||||||
NuGet package is already listed in native/tests/packages.config, so once you attempt to build
|
NuGet package is already listed in `native/tests/packages.config`, so once you attempt to build
|
||||||
the SEALTest project (native/tests/SEALTest.vcxproj) from SEAL.sln Visual Studio will
|
the SEALTest project (`native/tests/SEALTest.vcxproj`) from SEAL.sln Visual Studio will
|
||||||
automatically download and install it for you.
|
automatically download and install it for you.
|
||||||
|
|
||||||
## Linux and OS X
|
## Linux and OS X
|
||||||
|
@ -88,8 +88,8 @@ make
|
||||||
cd ../..
|
cd ../..
|
||||||
````
|
````
|
||||||
|
|
||||||
After completing the above steps the sealexamples executable can be found in native/bin/.
|
After completing the above steps the sealexamples executable can be found in `native/bin/`.
|
||||||
See native/examples/CMakeLists.txt for how to link SEAL with your own project using cmake.
|
See `native/examples/CMakeLists.txt` for how to link Microsoft SEAL with your own project using cmake.
|
||||||
|
|
||||||
#### Unit tests
|
#### Unit tests
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ make
|
||||||
cd ../..
|
cd ../..
|
||||||
````
|
````
|
||||||
|
|
||||||
After completing these steps the sealtest executable can be found in native/bin/. All unit
|
After completing these steps the sealtest executable can be found in `native/bin/`. All unit
|
||||||
tests should pass successfully.
|
tests should pass successfully.
|
||||||
|
|
||||||
### Local install
|
### Local install
|
||||||
|
@ -128,8 +128,8 @@ make
|
||||||
cd ../..
|
cd ../..
|
||||||
````
|
````
|
||||||
|
|
||||||
After completing the above steps the sealexamples executable can be found in native/bin/.
|
After completing the above steps the sealexamples executable can be found in `native/bin/`.
|
||||||
See native/examples/CMakeLists.txt for how to link Microsoft SEAL with your own project using cmake.
|
See `native/examples/CMakeLists.txt` for how to link Microsoft SEAL with your own project using cmake.
|
||||||
|
|
||||||
#### Unit tests
|
#### Unit tests
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@ make
|
||||||
cd ../..
|
cd ../..
|
||||||
````
|
````
|
||||||
|
|
||||||
After completing these steps the sealtest executable can be found in native/bin/. All unit
|
After completing these steps the sealtest executable can be found in `native/bin/`. All unit
|
||||||
tests should pass successfully.
|
tests should pass successfully.
|
||||||
|
|
||||||
# Building and using Microsoft SEAL for .NET
|
# Building and using Microsoft SEAL for .NET
|
||||||
|
@ -158,28 +158,28 @@ to build the .NET assembly, a backing native shared library, .NET examples and u
|
||||||
#### Native library
|
#### Native library
|
||||||
|
|
||||||
Microsoft SEAL for .NET requires a native library that is invoked by the managed .NET library.
|
Microsoft SEAL for .NET requires a native library that is invoked by the managed .NET library.
|
||||||
Build the SEALNetNative project (dotnet/native/SEALNetNative.vcxproj) from SEAL.sln. Building SEALNetNative results
|
Build the SEALNetNative project (`dotnet/native/SEALNetNative.vcxproj`) from SEAL.sln. Building SEALNetNative results
|
||||||
in the dynamic library sealnetnative.dll being created in dotnet/lib/$(Platform)/$(Configuration). This library is
|
in the dynamic library sealnetnative.dll being created in `dotnet/lib/$(Platform)/$(Configuration)`. This library is
|
||||||
meant to be used only by the .NET library, not by end users. The library needs to be
|
meant to be used only by the .NET library, not by end users. The library needs to be
|
||||||
present in the same directory as your executable when developing a .NET application.
|
present in the same directory as your executable when developing a .NET application.
|
||||||
|
|
||||||
#### .NET library
|
#### .NET library
|
||||||
|
|
||||||
Once you have built the shared native library (see above), build the SEALNet project (dotnet/src/SEALNet.csproj) from SEAL.sln. Building SEALNet results
|
Once you have built the shared native library (see above), build the SEALNet project (`dotnet/src/SEALNet.csproj`) from SEAL.sln. Building SEALNet results
|
||||||
in the assembly SEALNet.dll being created in dotnet/src/bin/$(Configuration)/netstandard2.0. This
|
in the assembly SEALNet.dll being created in `dotnet/lib/$(Configuration)/netstandard2.0`. This
|
||||||
is the assembly you can reference in your application.
|
is the assembly you can reference in your application.
|
||||||
|
|
||||||
#### .NET examples
|
#### .NET examples
|
||||||
|
|
||||||
Build the SEALNetExamples project (dotnet/examples/SEALNetExamples.csproj) from SEAL.sln.
|
Build the SEALNetExamples project (`dotnet/examples/SEALNetExamples.csproj`) from SEAL.sln.
|
||||||
This results in the assembly SEALNetExamples.dll being created in
|
This results in the assembly SEALNetExamples.dll being created in
|
||||||
dotnet/examples/bin/$(Configuration)/netcoreapp2.1. The project takes care of copying the
|
`dotnet/bin/$(Configuration)/netcoreapp2.1`. The project takes care of copying the
|
||||||
native SEALNetNative library to the output directory.
|
native SEALNetNative library to the output directory.
|
||||||
|
|
||||||
#### .NET unit tests
|
#### .NET unit tests
|
||||||
|
|
||||||
Build the SEALNet Test project (dotnet/tests/SEALNetTest.csproj) from SEAL.sln. This results
|
Build the SEALNet Test project (`dotnet/tests/SEALNetTest.csproj`) from SEAL.sln. This results
|
||||||
in the SEALNetTest.dll assembly being created in dotnet/tests/bin/$(Configuration)/netcoreapp2.1.
|
in the SEALNetTest.dll assembly being created in `dotnet/lib/$(Configuration)/netcoreapp2.1`.
|
||||||
The project takes care of copying the native SEALNetNative library to the output directory.
|
The project takes care of copying the native SEALNetNative library to the output directory.
|
||||||
|
|
||||||
### Using Microsoft SEAL for .NET in your own application
|
### Using Microsoft SEAL for .NET in your own application
|
||||||
|
@ -222,14 +222,14 @@ cd ../..
|
||||||
|
|
||||||
#### .NET library
|
#### .NET library
|
||||||
|
|
||||||
To build the .NET standard library, do the following:
|
To build the .NET Standard library, do the following:
|
||||||
````
|
````
|
||||||
cd dotnet/src
|
cd dotnet/src
|
||||||
dotnet build
|
dotnet build
|
||||||
cd ../..
|
cd ../..
|
||||||
````
|
````
|
||||||
You can use the dotnet parameter `--configuration` to build either a Debug or Release version of the assembly.
|
You can use the dotnet parameter `--configuration` to build either a Debug or Release version of the assembly.
|
||||||
This will result in a SEALNet.dll assembly being created in dotnet/src/bin/$(Configuration)/netstandard2.0. This
|
This will result in a SEALNet.dll assembly being created in `dotnet/lib/$(Configuration)/netstandard2.0`. This
|
||||||
assembly is the one you will want to reference in your own projects.
|
assembly is the one you will want to reference in your own projects.
|
||||||
|
|
||||||
#### Examples
|
#### Examples
|
||||||
|
@ -254,7 +254,7 @@ cd ../..
|
||||||
All unit tests should pass. You can use the dotnet parameter `--configuration` to run Debug or Relase unit tests,
|
All unit tests should pass. You can use the dotnet parameter `--configuration` to run Debug or Relase unit tests,
|
||||||
and you can use `--verbosity detailed` to print the list of unit tests that are being run.
|
and you can use `--verbosity detailed` to print the list of unit tests that are being run.
|
||||||
|
|
||||||
### Using SEAL for .NET in your own application
|
### Using Microsoft SEAL for .NET in your own application
|
||||||
|
|
||||||
To use Microsoft SEAL for .NET in your own application you need to:
|
To use Microsoft SEAL for .NET in your own application you need to:
|
||||||
1. Add a reference in your project to SEALNet.dll
|
1. Add a reference in your project to SEALNet.dll
|
||||||
|
@ -277,5 +277,5 @@ cd ../..
|
||||||
# Documentation
|
# Documentation
|
||||||
|
|
||||||
The code-base contains extensive and thoroughly commented examples that should
|
The code-base contains extensive and thoroughly commented examples that should
|
||||||
serve as a self-contained introduction to using SEAL (see native/examples/examples.cpp). In
|
serve as a self-contained introduction to using SEAL (see `native/examples/examples.cpp` or `dotnet/examples/Examples.cs`). In
|
||||||
addition, the header files contain detailed comments for the public API.
|
addition, the header files contain detailed comments for the public API.
|
||||||
|
|
|
@ -11,10 +11,12 @@
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<OutputPath>$(ProjectDir)../bin/$(Configuration)</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<OutputPath>$(ProjectDir)../bin/$(Configuration)</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -10,9 +10,11 @@
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||||
<DocumentationFile>bin/Release/SEALNet.xml</DocumentationFile>
|
<DocumentationFile>bin/Release/SEALNet.xml</DocumentationFile>
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<OutputPath>$(ProjectDir)../lib/$(Configuration)</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
<DocumentationFile>bin/Debug/SEALNet.xml</DocumentationFile>
|
<DocumentationFile>bin/Debug/SEALNet.xml</DocumentationFile>
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<OutputPath>$(ProjectDir)../lib/$(Configuration)</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
|
@ -11,10 +11,12 @@
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<OutputPath>$(ProjectDir)../lib/$(Configuration)</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<OutputPath>$(ProjectDir)../lib/$(Configuration)</OutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
Загрузка…
Ссылка в новой задаче