public virtual void FastBuildUnitys(Configuration conf, CommonTarget target)
 {
     conf.FastBuildBlobbed          = true;
     conf.FastBuildUnityPath        = Path.Combine(Globals.TmpDirectory, @"unity\[project.Name]");
     conf.IncludeBlobbedSourceFiles = false;
     conf.IsBlobbed = false;
 }
        public virtual void ConfigureFastBuild(Configuration conf, CommonTarget target)
        {
            conf.SolutionFolder = "FastBuild/" + conf.SolutionFolder;
            conf.ProjectName   += "_FastBuild";

            conf.Defines.Add("USES_FASTBUILD");
        }
Exemple #3
0
        public override void ConfigureAll(Configuration conf, CommonTarget target)
        {
            base.ConfigureAll(conf, target);

            conf.AddProject <ExePackaging>(target);
            conf.SetStartupProject <ExePackaging>();
        }
Exemple #4
0
        public HelloAndroidSolution()
        {
            AddTargets(CommonTarget.GetDefaultTargets());
            Name = "HelloAndroid";

            ExePackaging.DirectoryCopyResourceFiles(GradleRootPath, ExePackaging.AndroidPackageProjectsPath + @"\exepackaging");
        }
        public override void ConfigureAll(Configuration conf, CommonTarget target)
        {
            base.ConfigureAll(conf, target);

            conf.AddPrivateDependency <StaticLib2Project>(target);

            conf.SolutionFolder = "StaticLibs";

            // intentionally in a subfolder
            conf.PrecompHeader = @"src\pch.h";
            conf.PrecompSource = @"src\pch.cpp";

            conf.IncludePaths.Add(SourceRootPath);

            switch (target.Optimization)
            {
            case Optimization.Debug:
                conf.SourceFilesBuildExclude.Add(@"src\ensure_release.cpp");
                break;

            case Optimization.Release:
                // use a different method to exclude ensure_debug.cpp
                conf.SourceFilesBuildExcludeRegex.Add(Util.RegexPathCombine("src", @"ensure_d.*\.cpp$"));
                break;

            default:
                throw new Error("Unexpected optimization " + target.Optimization);
            }
        }
        public override void ConfigureAll(Configuration conf, CommonTarget target)
        {
            base.ConfigureAll(conf, target);

            conf.SolutionFolder = "StaticLibs";

            conf.IncludePaths.Add(SourceRootPath);
        }
 public virtual void ConfigureAll(Configuration conf, CommonTarget target)
 {
     conf.SolutionFileName = "[solution.Name]_[target.Platform]";
     if (target.DevEnv != DevEnv.xcode4ios)
     {
         conf.SolutionFileName += "_[target.DevEnv]";
     }
     conf.PlatformName = "[target.SolutionPlatformName]";
     conf.SolutionPath = System.IO.Path.Combine(Globals.TmpDirectory, "solutions");
 }
        public virtual void BlobNoBlob(Configuration conf, CommonTarget target)
        {
            conf.FastBuildBlobbed = false;
            conf.IsBlobbed        = false;

            if (conf.IsFastBuild)
            {
                conf.ProjectName += "_NoBlob";
            }
        }
        public virtual void ConfigureAndroid(Configuration conf, CommonTarget target)
        {
            conf.Options.Add(Options.Android.General.AndroidAPILevel.Latest);
            conf.Options.Add(Options.Android.General.UseOfStl.LibCpp_Shared);

            //Make the VS debugger stop at the expected breakpoint with correct stack for Android project.
            if (target.Optimization.Equals(Optimization.Debug))
            {
                conf.AdditionalCompilerOptions.Add(@"-fno-experimental-isel");
            }
        }
Exemple #10
0
        public override void ConfigureAndroid(Configuration conf, CommonTarget target)
        {
            base.ConfigureAndroid(conf, target);
            conf.Output = Configuration.OutputType.Dll;
            // The short name(libxxx.so, xxx is the short name) of App executable .so has to match the name of the project
            // because we use one AndroidManifest.xml for all configuration in the sample.
            conf.TargetFileName = Name.ToLowerInvariant();

            conf.PrecompHeader = "";
            conf.PrecompSource = "";
        }
        public override void ConfigureAll(Configuration conf, CommonTarget target)
        {
            base.ConfigureAll(conf, target);

            conf.Output = Configuration.OutputType.Exe;

            conf.PrecompHeader = "stdafx.h";
            conf.PrecompSource = "stdafx.cpp";

            conf.AddPrivateDependency <StaticLib1Project>(target);
            conf.AddPrivateDependency <StaticLib2Project>(target);

            conf.Defines.Add("CREATION_DATE=\"April 2021\"");
        }
        public void ConfigureAndroid(Project.Configuration conf, CommonTarget target)
        {
            conf.Name            = Name + "_[target.Optimization]_[target.AndroidBuildTargets]";
            conf.ProjectPath     = Path.Combine(ProjectRootPath, @"codebase\temp\projects\[project.Name]");
            conf.ProjectFileName = "[project.Name]_[target.DevEnv]_[target.Platform]";

            conf.Output = Configuration.OutputType.Lib;

            conf.IntermediatePath = Path.Combine(ProjectRootPath, @"codebase\temp\[target.Platform]\[project.Name]\[target.Optimization]");
            conf.TargetPath       = Path.Combine(ProjectRootPath, @"codebase\temp\bin\apk_[target.AndroidBuildTargets]_pack");

            conf.Options.Add(Options.Android.General.AndroidAPILevel.Latest);
            conf.Options.Add(Options.Android.General.UseOfStl.LibCpp_Static);

            conf.SolutionFolder = "apk";

            conf.AddPublicDependency <ExeProject>(target);
        }
        public static CommonTarget[] GetAndroidTargets()
        {
            var defaultTarget = new CommonTarget(
                Platform.android,
                DevEnv.vs2019,
                Optimization.Debug | Optimization.Release,
                Blob.NoBlob,
                BuildSystem.Default
                );

            // make a fastbuild version of the target
            var fastBuildTarget = (CommonTarget)defaultTarget.Clone(
                Blob.FastBuildUnitys,
                BuildSystem.FastBuild
                );

            return(new[] { defaultTarget });
        }
        public ExePackaging() : base(typeof(CommonTarget))
        {
            DeployProject = true;

            Name = "exepackaging";

            SourceRootPath = Path.Combine(ProjectRootPath, @"codebase\temp\projects\" + Name);

            if (!Directory.Exists(SourceRootPath))
            {
                Directory.CreateDirectory(SourceRootPath);
            }

            AndroidManifest          = "AndroidManifest.xml";
            AntBuildXml              = "build.xml";
            AntProjectPropertiesFile = "project.properties";

            SourceFilesExtensions.Add(".xml");
            SourceFilesExclude.Add("AndroidManifest.xml", "build.xml");

            AddTargets(CommonTarget.GetAndroidTargets());
        }
        public virtual void ConfigureAll(Configuration conf, CommonTarget target)
        {
            conf.ProjectFileName = "[project.Name]_[target.Platform]";
            if (target.DevEnv != DevEnv.xcode4ios)
            {
                conf.ProjectFileName += "_[target.DevEnv]";
            }
            conf.ProjectPath = Path.Combine(Globals.TmpDirectory, @"projects\[project.Name]");
            conf.IsFastBuild = target.BuildSystem == BuildSystem.FastBuild;

            conf.IntermediatePath = Path.Combine(Globals.TmpDirectory, @"obj\[target.DirectoryName]\[project.Name]");
            conf.TargetPath       = Path.Combine(Globals.OutputDirectory, "[target.DirectoryName]");

            conf.TargetLibraryPath = conf.IntermediatePath;                                         // .lib files must be with the .obj files when running in fastbuild distributed mode or we'll have missing symbols due to merging of the .pdb

            conf.TargetFileName += "_" + target.Optimization.ToString().ToLowerInvariant().First(); // suffix with lowered first letter of optim
            if (conf.IsFastBuild)
            {
                conf.TargetFileName += "x";
            }

            conf.Output = Configuration.OutputType.Lib; // defaults to creating static libs
        }
Exemple #16
0
        public ExePackaging() : base(typeof(CommonTarget))
        {
            DeployProject = true;

            Name = "exepackaging";

            SourceRootPath = Path.Combine(ProjectRootPath, @"codebase\temp\projects\" + Name);

            if (!Directory.Exists(SourceRootPath))
            {
                Directory.CreateDirectory(SourceRootPath);
            }

            AndroidManifest          = "AndroidManifest.xml";
            AntBuildXml              = "build.xml";
            AntProjectPropertiesFile = "project.properties";

            SourceFilesExtensions.Add(".xml");
            SourceFilesExclude.Add("AndroidManifest.xml", "build.xml");

            AddTargets(CommonTarget.GetAndroidTargets());

            //the plugin and gradle version are good and stable version to be used with Android libraries,
            //we don't want to use the default version on VS(ver. 0.4.0 and 2.8 respectively) since it is quite old
            GradlePlugin  = "gradle:4.2.0";
            GradleVersion = "6.7.1";

            // Path to the Gradle template files
            GradleTemplateFiles.Add(@"app\src\main\AndroidManifest.xml.template");
            GradleTemplateFiles.Add(@"app\build.gradle.template");
            GradleTemplateFiles.Add(@"build.gradle.template");
            GradleTemplateFiles.Add(@"settings.gradle.template");
            GradleTemplateFiles.Add(@"gradle\wrapper\gradle-wrapper.properties.template");

            ResourceFiles.Add(@"app\src\main\res\values\strings.xml");
        }
 public StaticLib1Project()
 {
     AddTargets(CommonTarget.GetDefaultTargets());
     Name = "static_lib1";
 }
 public HelloAndroidSolution()
 {
     AddTargets(CommonTarget.GetDefaultTargets());
     Name = "HelloAndroid";
 }
 public virtual void ConfigureRelease(Configuration conf, CommonTarget target)
 {
     conf.DefaultOption = Options.DefaultTarget.Release;
 }
 public virtual void ConfigureDebug(Configuration conf, CommonTarget target)
 {
     conf.DefaultOption = Options.DefaultTarget.Debug;
 }
 public ExeProject()
 {
     AddTargets(CommonTarget.GetDefaultTargets());
     Name = "exe";
 }