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"); }
public override void ConfigureAll(Configuration conf, CommonTarget target) { base.ConfigureAll(conf, target); conf.AddProject <ExePackaging>(target); conf.SetStartupProject <ExePackaging>(); }
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"); } }
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 }
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"; }