modified readme and added missing files
This commit is contained in:
parent
f309876d16
commit
a8696f0664
4 changed files with 53 additions and 7 deletions
15
OpenTK.sln
15
OpenTK.sln
|
@ -1,7 +1,7 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25123.0
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.27703.2000
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Generator.Bind", "src\Generator.Bind\Generator.Bind.csproj", "{31D19132-0000-0000-0000-000000000000}"
|
||||
EndProject
|
||||
|
@ -29,10 +29,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".paket", ".paket", "{F1A570
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{5EEEC96B-BD2F-45B0-935D-19E9E6D7D969}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
.gitignore = .gitignore
|
||||
build.fsx = build.fsx
|
||||
README.md = README.md
|
||||
RELEASE_NOTES.md = RELEASE_NOTES.md
|
||||
.gitignore = .gitignore
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "OpenTK.Tests", "tests\OpenTK.Tests\OpenTK.Tests.fsproj", "{6801C263-ADDA-4A7B-979D-649BCB5A1DF7}"
|
||||
|
@ -43,6 +43,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTK.Tests.Math", "tests\
|
|||
EndProject
|
||||
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "OpenTK.Tests.Generators", "tests\OpenTK.Tests.Generators\OpenTK.Tests.Generators.fsproj", "{2B11AAEB-D8AC-4356-938F-532D720E0C30}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenTK.Standard", "src\OpenTK\OpenTK.Standard.csproj", "{67F02FD3-8F7F-4D89-8551-359993271CA3}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -97,6 +99,10 @@ Global
|
|||
{2B11AAEB-D8AC-4356-938F-532D720E0C30}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2B11AAEB-D8AC-4356-938F-532D720E0C30}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2B11AAEB-D8AC-4356-938F-532D720E0C30}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{67F02FD3-8F7F-4D89-8551-359993271CA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{67F02FD3-8F7F-4D89-8551-359993271CA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{67F02FD3-8F7F-4D89-8551-359993271CA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{67F02FD3-8F7F-4D89-8551-359993271CA3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -107,4 +113,7 @@ Global
|
|||
{C2B07CD9-B388-4FC3-AF31-C648F7EA904E} = {1857BB8E-1A35-4EBF-9F6D-685F11DC025B}
|
||||
{2B11AAEB-D8AC-4356-938F-532D720E0C30} = {1857BB8E-1A35-4EBF-9F6D-685F11DC025B}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {CFF5ADCD-8B5E-4C07-ACCA-304C81D4D839}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
@ -59,8 +59,8 @@ cd opentk # Enter the source directory
|
|||
./build.sh # Build on Mono (Linux / Mac OS X)
|
||||
```
|
||||
|
||||
After this is done at least once, you can build OpenTK normally through
|
||||
your IDE.
|
||||
After this is done at least once, you can build OpenTK.Standard project normally through
|
||||
your IDE. This fork is only for building opentk for .Net Standard, and not for .Net Framework.
|
||||
|
||||
News
|
||||
====
|
||||
|
|
|
@ -35,5 +35,12 @@ namespace OpenTK.Rewrite
|
|||
[Option("dllimport", Default = false,
|
||||
HelpText = "Force native calls to use DllImport instead of GetProcAddress.")]
|
||||
public bool UseDLLImport { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Toggles rewriting for NetStandard.
|
||||
/// </summary>
|
||||
[Option('n', "netstandard", Default = false,
|
||||
HelpText = "Toggles rewriting for NetStandard.")]
|
||||
public bool IsNetStandard { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,6 +55,8 @@ namespace OpenTK.Rewrite
|
|||
program.Rewrite();
|
||||
}
|
||||
|
||||
private static string GetCoreAssemblyName() => Options.IsNetStandard ? "netstandard" : "mscorlib";
|
||||
|
||||
// mscorlib types
|
||||
private static AssemblyDefinition mscorlib;
|
||||
|
||||
|
@ -93,6 +95,21 @@ namespace OpenTK.Rewrite
|
|||
Console.Error.WriteLine("No keyfile specified or keyfile missing.");
|
||||
}
|
||||
|
||||
if (Options.IsNetStandard)
|
||||
{
|
||||
DefaultAssemblyResolver resolver = new DefaultAssemblyResolver();
|
||||
string searchPath = GetNetstandardRefPath();
|
||||
if (!Directory.Exists(searchPath))
|
||||
{
|
||||
Console.Error.WriteLine(
|
||||
"Could not locate .NET Standard reference assemblies. This is necessary for binary rewriting to proceed.");
|
||||
return;
|
||||
}
|
||||
|
||||
resolver.AddSearchDirectory(searchPath);
|
||||
read_params.AssemblyResolver = resolver;
|
||||
}
|
||||
|
||||
// Load assembly and process all modules
|
||||
try
|
||||
{
|
||||
|
@ -108,7 +125,7 @@ namespace OpenTK.Rewrite
|
|||
try
|
||||
{
|
||||
var resolved = module.AssemblyResolver.Resolve(reference);
|
||||
if (reference.Name == "mscorlib")
|
||||
if (reference.Name == GetCoreAssemblyName())
|
||||
{
|
||||
mscorlib = resolved;
|
||||
}
|
||||
|
@ -122,7 +139,7 @@ namespace OpenTK.Rewrite
|
|||
|
||||
if (mscorlib == null)
|
||||
{
|
||||
Console.Error.WriteLine("Failed to locate mscorlib");
|
||||
Console.Error.WriteLine("Failed to locate " + GetCoreAssemblyName());
|
||||
return;
|
||||
}
|
||||
TypeMarshal = mscorlib.MainModule.GetType("System.Runtime.InteropServices.Marshal");
|
||||
|
@ -1073,5 +1090,18 @@ namespace OpenTK.Rewrite
|
|||
{
|
||||
il.Emit(OpCodes.Call, reference);
|
||||
}
|
||||
|
||||
private string GetNetstandardRefPath()
|
||||
{
|
||||
return Path.Combine(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
|
||||
".nuget",
|
||||
"packages",
|
||||
"netstandard.library",
|
||||
"2.0.1",
|
||||
"build",
|
||||
"netstandard2.0",
|
||||
"ref");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue