public override async Task <IProject> Generate(ISolution solution, string name)
{
var project = await base.Generate(solution, name);
project.ToolChain = IoC.Get <IShell>().ToolChains.FirstOrDefault(tc => tc is ClangGCCToolchain);
var settings = ClangGCCToolchain.ProvisionClangSettings(project);
project.AddFile(SourceFile.Create(project, project, project.CurrentDirectory, "main.cpp", "int main (void){}"));
project.Save();
return(project);
}