Browse Source

Fixed the parse options to only collect all headers if it's a unity build.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/658/head
Dimitar Dobrev 9 years ago
parent
commit
62e4ab93b1
  1. 10
      src/Generator/Driver.cs

10
src/Generator/Driver.cs

@ -141,7 +141,7 @@ namespace CppSharp @@ -141,7 +141,7 @@ namespace CppSharp
}
}
public ParserOptions BuildParserOptions()
public ParserOptions BuildParserOptions(SourceFile file = null)
{
var options = new ParserOptions
{
@ -200,7 +200,8 @@ namespace CppSharp @@ -200,7 +200,8 @@ namespace CppSharp
options.addLibraryDirs(lib);
}
foreach (var module in Options.Modules)
foreach (var module in Options.Modules.Where(
m => file == null || m.Headers.Contains(file.Path)))
{
foreach (var include in module.IncludeDirs)
options.addIncludeDirs(include);
@ -237,8 +238,11 @@ namespace CppSharp @@ -237,8 +238,11 @@ namespace CppSharp
foreach (var header in Options.Modules.SelectMany(m => m.Headers))
{
var source = Project.AddFile(header);
source.Options = BuildParserOptions();
if (!Options.UnityBuild)
source.Options = BuildParserOptions(source);
}
if (Options.UnityBuild)
Project.Sources[0].Options = BuildParserOptions();
}
public ParserTargetInfo TargetInfo { get; set; }

Loading…
Cancel
Save