Browse Source

Fix path combine and improve error reporting for `ParserGen`.

pull/1879/head
Joao Matos 8 months ago
parent
commit
83eabbc191
  1. 22
      src/CppParser/ParserGen/ParserGen.cs

22
src/CppParser/ParserGen/ParserGen.cs

@ -166,24 +166,32 @@ namespace CppSharp @@ -166,24 +166,32 @@ namespace CppSharp
ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-pc-win32-msvc"));
Console.WriteLine();
}
else
{
Console.WriteLine("Skipping generation for Windows due to missing headers, only supported on Windows platform.");
}
var osxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers\osx");
var osxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers", "osx");
if (Directory.Exists(osxHeadersPath) || Platform.IsMacOS)
{
Console.WriteLine("Generating the C# parser bindings for OSX x86...");
Console.WriteLine("Generating the C# parser bindings for macOS x86...");
ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "i686-apple-darwin12.4.0"));
Console.WriteLine();
Console.WriteLine("Generating the C# parser bindings for OSX x64...");
Console.WriteLine("Generating the C# parser bindings for macOS x64...");
ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-apple-darwin12.4.0"));
Console.WriteLine();
Console.WriteLine("Generating the C# parser bindings for OSX ARM64...");
Console.WriteLine("Generating the C# parser bindings for macOS ARM64...");
ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "arm64-apple-darwin12.4.0"));
Console.WriteLine();
}
else
{
Console.WriteLine("Skipping generation for macOS due to missing headers.");
}
var linuxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers\x86_64-linux-gnu");
var linuxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers", "x86_64-linux-gnu");
if (Directory.Exists(linuxHeadersPath) || Platform.IsLinux)
{
Console.WriteLine("Generating the C# parser bindings for Linux...");
@ -204,6 +212,10 @@ namespace CppSharp @@ -204,6 +212,10 @@ namespace CppSharp
isGnuCpp11Abi: true));
Console.WriteLine();
}
else
{
Console.WriteLine("Skipping generation for Linux due to missing headers.");
}
}
}
}

Loading…
Cancel
Save