public static void Run(ModuleCollection[] collections) { // Load all compilation configs VSFullConfiguration[] configs = BuildStatics.GetVSFullConfigurations(); RecipeTarget[] recipes = new RecipeTarget[configs.Length]; for (int i = 0; i < configs.Length; ++i) { recipes[i] = configs[i].AsRecipeTarget(); } // Make sure all recipes are loaded foreach (ModuleCollection collection in collections) { collection.LoadModuleRecipes(recipes); } // Resolve all dependencies RecipeCollection.ResolveModuleDependencies(recipes, collections); // Create solution and project files VSSolution solution = new VSSolution(collections); solution.LoadProjects(); VSSolutionIO.WriteAllDetails(solution, configs); }
public RecipeTarget AsRecipeTarget() { RecipeTarget recipeTarget = new RecipeTarget(); recipeTarget.configuration = configuration.name; recipeTarget.platform = platform.name; recipeTarget.target = target.name; return(recipeTarget); }
public EngineModuleRecipe(RecipeTarget target) : base(target) { type = BuildType.CodeOnly; publicCodeDirectories.AddRange(new string[] { "Source/Public" }); privateCodeDirectories.AddRange(new string[] { "Source/Private" }); publicModuleDependencies.AddRange(new string[] { "Core", "Reflection" }); }
public CoreModuleRecipe(RecipeTarget target) : base(target) { type = BuildType.CodeOnly; publicDefinitions.AddRange(new string[] { "CORE_STR_WIDE" }); privateDefinitions.AddRange(new string[] { "" }); publicCodeDirectories.AddRange(new string[] { "Source/Public" }); privateCodeDirectories.AddRange(new string[] { "Source/Private" }); }
public ReflectionModuleRecipe(RecipeTarget target) : base(target) { type = BuildType.CodeOnly; //output = OutputType.Static; publicDefinitions.AddRange(new string[] { "CORE_STR_WIDE" }); publicCodeDirectories.AddRange(new string[] { "Source/Public" }); privateCodeDirectories.AddRange(new string[] { "Source/Private" }); publicModuleDependencies.AddRange(new string[] { "Core" }); }
public BasicModuleRecipe(RecipeTarget target) : base(target) { type = BuildType.CodeOnly; moduleLang = "C++"; publicDefinitions.AddRange(new string[] { "" }); privateDefinitions.AddRange(new string[] { "" }); publicCodeDirectories.AddRange(new string[] { "Source/Public" }); privateCodeDirectories.AddRange(new string[] { "Source/Private" }); publicModuleDependency.AddRange(new string[] { "Engine.Core" }); privateModuleDependency.AddRange(new string[] { "" }); }
public BasicModuleRecipe(RecipeTarget target) : base(target) { type = BuildType.CodeOnly; output = OutputType.Application; publicDefinitions.AddRange(new string[] { "" }); privateDefinitions.AddRange(new string[] { "" }); precompiledHeader = "Main.pch.h"; publicCodeDirectories.AddRange(new string[] { "Source/Public" }); privateCodeDirectories.AddRange(new string[] { "Source/Private" }); publicModuleDependencies.AddRange(new string[] { "Engine/Engine" }); privateModuleDependencies.AddRange(new string[] { "" }); }