Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
    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" });
    }
Exemplo n.º 4
0
    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" });
    }
Exemplo n.º 5
0
    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" });
    }
Exemplo n.º 6
0
    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[] { "" });
    }
Exemplo n.º 7
0
    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[] { "" });
    }