public new void Configure(Configuration conf, ZenTarget target) { base.Configure(conf, target); conf.AddPublicDependency <ZenLibExternal>(target); //DisabledWarning.Add("4238"); // nonstandard extension used: class rvalue used as lvalue (Using & on constructor of class for array init) conf.Options.Add(new Sharpmake.Options.Vc.Compiler.DisableSpecificWarnings("4189")); //local variable is initialized but not referenced }
public new void Configure(Configuration conf, ZenTarget target) { base.Configure(conf, target); conf.Output = Project.Configuration.OutputType.Exe; conf.TargetPath = RootDir + @"\Build\{Bin}\" + target.Platform.ToString(); conf.TargetFileName = "[project.Name]_" + target.GetNameGraphics() + "_[target.Name]"; //------------------------------------------------------ if (target.GraphicsAPI == GraphicsAPI.DirectX11) //------------------------------------------------------ { conf.LibraryFiles.Add("d3d11"); conf.LibraryFiles.Add("d3dcompiler"); conf.LibraryFiles.Add("dxguid"); } //------------------------------------------------------ else if (target.GraphicsAPI == GraphicsAPI.DirectX12) //------------------------------------------------------ { conf.LibraryFiles.Add("d3d12"); conf.LibraryFiles.Add("d3dcompiler"); conf.LibraryFiles.Add("dxgi"); conf.LibraryFiles.Add("dxguid"); } //------------------------------------------------------ if (target.Platform == Platform.win32 || target.Platform == Platform.win64) //------------------------------------------------------ { if (target.Optimization != Optimization.Retail) { conf.LibraryFiles.Add("Dbghelp"); //For stack trace informations } } }
public new void Configure(Configuration conf, ZenTarget target) { base.Configure(conf, target); conf.Output = Project.Configuration.OutputType.Lib; conf.TargetPath = RootDir + @"\Build\{projects}\[project.Name]\Output\" + target.Platform.ToString(); conf.TargetFileName = "[project.Name]_" + target.GetNameBuild() + "_[target.Name]"; }
public new void Configure(Configuration conf, ZenTarget target) { base.Configure(conf, target); conf.Defines.Add("ZEN_THIRDPARTY_IMGUI=1"); conf.ExportDefines.Add("ZEN_THIRDPARTY_IMGUI=1"); conf.SourceFilesBuildExcludeRegex.Add(@"\.*\\examples\\"); conf.SourceFilesBuildExcludeRegex.Add(@"\.*\\extra_fonts\\"); }
public new void Configure(Configuration conf, ZenTarget target) { base.Configure(conf, target); conf.Defines.Add("ZEN_ENGINELIB=1"); conf.AddPublicDependency <ZenLibCore>(target); conf.IncludePaths.Add(RootDir + @"\Engine\ZenApi\ZenEngine"); conf.IncludePrivatePaths.Add(RootDir + @"\Engine\ZenEngine"); conf.IncludePrivatePaths.Add(RootDir + @"\Engine\ZenEngine\ZenEngine"); }
public new void Configure(Configuration conf, ZenTarget target) { base.Configure(conf, target); conf.IncludePaths.Add(RootDir + @"\Engine\ThirdParty\EASTL\Include"); conf.IncludePaths.Add(RootDir + @"\Engine\ThirdParty\EASTL\test\packages\EABase\include\Common"); conf.Defines.Add("ZEN_THIRDPARTY_EASTL=1"); conf.Defines.Add("EA_COMPILER_NO_NOEXCEPT=0"); conf.ExportDefines.Add("ZEN_THIRDPARTY_EASTL=1"); conf.ExportDefines.Add("EA_COMPILER_NO_NOEXCEPT=0"); }
public new void Configure(Configuration conf, ZenTarget target) { base.Configure(conf, target); conf.Defines.Add("ZEN_ENGINELIB=1"); conf.IncludePaths.Add(RootDir + @"\Engine\ZenExternal"); conf.AddPublicDependency <ZenLibEngine>(target); if (target.EngineMode == EngineMode.Tool) { conf.AddPublicDependency <ZenLibThirdPartyPugiXml>(target); } }
public new void Configure(Configuration conf, ZenTarget target) { base.Configure(conf, target); //-------------------------------------------------------------------------------------- // Samples //-------------------------------------------------------------------------------------- if (target.EngineMode == EngineMode.Game) { conf.AddProject <ZenExeSampleBaseType>(target); conf.AddProject <ZenExeSampleBaseMem>(target); conf.AddProject <ZenExeSampleBaseLog>(target); conf.AddProject <ZenExeSampleBaseMath>(target); conf.AddProject <ZenExeSampleBaseSignal>(target); conf.AddProject <ZenExeSampleBaseSystem>(target); conf.AddProject <ZenExeSampleGfxSimple>(target); conf.AddProject <ZenExeSampleGfxDebugUI>(target); //conf.AddProject<ZenExeSampleGfxDirextX12>(target); conf.AddProject <ZenExeSampleGfxGLTF>(target); } }
public new void Configure(Configuration conf, ZenTarget target) { base.Configure(conf, target); conf.Defines.Add("ZEN_THIRDPARTY_PUGIXML=1"); conf.ExportDefines.Add("ZEN_THIRDPARTY_PUGIXML=1"); }
public new void Configure(Configuration conf, ZenTarget target) { base.Configure(conf, target); }
protected new void AddTarget(ZenTarget InTarget) { InTarget.EngineMode &= EngineMode.Tool; base.AddTarget(InTarget); }
public void Configure(Configuration conf, ZenTarget target) { conf.ProjectFileName = "[project.Name]_[target.DevEnv]"; conf.ProjectPath = RootDir + @"\Build\{Projects}\[project.Name]"; conf.Name = "[project.Name]_" + target.GetNameBuild() + "[target.Name]"; //-------------------------------------------------------------------------------------- // Generates PreCompiled Header file //-------------------------------------------------------------------------------------- //NOTE : At the moment only pick first file, and use its name for generating pch, should // be revisited to all use PrecompileHeader with multiple includes support if (PchFiles.Count > 0) { Resolver resolver = new Resolver(); resolver.SetParameter("conf", conf); resolver.SetParameter("target", target); resolver.SetParameter("project", this); conf.PrecompHeader = "PrecompiledHeader.h"; conf.PrecompSource = "PrecompiledHeader.cpp"; string PchOutputDir = resolver.Resolve(conf.ProjectPath); string OutputSource = PchOutputDir + "\\" + conf.PrecompSource; string OutputHeader = PchOutputDir + "\\" + conf.PrecompHeader; Util.ResolvePath(SharpmakeCsPath, ref PchOutputDir); System.IO.Directory.CreateDirectory(PchOutputDir); //------------------- //System.IO.File.WriteAllText(OutputSource, "//Generated PCH\n#include \"" + conf.PrecompHeader + "\""); //System.IO.File.WriteAllText(OutputHeader, "//Generated PCH\n#pragma once\n\n"); //foreach (string HeaderFile in PchFiles) //{ // System.IO.File.AppendAllText(OutputHeader, "#include \"" + HeaderFile + "\"\n"); //} //------------------- conf.PrecompHeader = PchFiles.SortedValues[0]; // REMOVE ME System.IO.File.WriteAllText(OutputSource, "//Generated PCH\n#include \"" + PchFiles.SortedValues[0] + "\""); //------------------- //See about moving this out of config? Strings NewPchFiles = new Strings(SourceFiles); NewPchFiles.Add(OutputSource); SourceFiles = NewPchFiles; } conf.IncludePrivatePaths.Add(SourceRootPath); //-------------------------------------------------------------------------------------- // Remove compilation of files with extension not supported by current platform // (use filename_[PLATFORM].ext naming convention) //-------------------------------------------------------------------------------------- PlatformFileExt[] ConsoleFileExtensions = new PlatformFileExt[] { new PlatformFileExt("PC", Platform.win32 | Platform.win64), new PlatformFileExt("DX11", 0, GraphicsAPI.DirectX11), new PlatformFileExt("DX12", 0, GraphicsAPI.DirectX12) }; foreach (var Entry in ConsoleFileExtensions) { if (Entry.PlatformMask.HasFlag(target.Platform) == false && Entry.GraphicMask.HasFlag(target.GraphicsAPI) == false) { conf.SourceFilesBuildExcludeRegex.Add(".*_" + Entry.FileExt + @"\..*"); } } //-------------------------------------------------------------------------------------- // Add build config specific defines //-------------------------------------------------------------------------------------- if ((Platform.win32 | Platform.win64).HasFlag(target.Platform)) { conf.Defines.Add("_WINDOWS"); conf.Defines.Add("ZEN_PLATFORM=PC"); conf.Defines.Add("ZEN_PLATFORM_PC=1"); conf.Defines.Add("_HAS_EXCEPTIONS=0"); } if (target.GraphicsAPI == GraphicsAPI.DirectX11) { conf.Defines.Add("ZEN_RENDERER=DX11"); conf.Defines.Add("ZEN_RENDERER_DX11=1"); } else if (target.GraphicsAPI == GraphicsAPI.DirectX12) { conf.Defines.Add("ZEN_RENDERER=DX12"); conf.Defines.Add("ZEN_RENDERER_DX12=1"); } if (target.Optimization == Optimization.Debug) { conf.Defines.Add("ZEN_BUILD_DEBUG=1"); } else if (target.Optimization == Optimization.Release) { conf.Defines.Add("ZEN_BUILD_RELEASE=1"); } else if (target.Optimization == Optimization.Retail) { conf.Defines.Add("ZEN_BUILD_FINAL=1"); } if (target.EngineMode == EngineMode.Game) { conf.Defines.Add("ZEN_ENGINEGAME=1"); } else if (target.EngineMode == EngineMode.Tool) { conf.Defines.Add("ZEN_ENGINETOOL=1"); } //-------------------------------------------------------------------------------------- // Others options per Platform //-------------------------------------------------------------------------------------- if (target.GraphicsAPI == GraphicsAPI.DirectX12) { conf.IncludePrivatePaths.Add(RootDir + @"\Engine\ThirdParty\WinPixEventRuntime\Include\WinPixEventRuntime"); } //-------------------------------------------------------------------------------------- // Compilers options //-------------------------------------------------------------------------------------- //Disable some warnings List <string> DisabledWarning = new List <string>(); DisabledWarning.Add("4201"); // Nameless structure DisabledWarning.Add("4100"); // Unreferenced parameter DisabledWarning.Add("4127"); // conditional expression is constant DisabledWarning.Add("4505"); // unreferenced local function has been removed DisabledWarning.Add("4238"); // nonstandard extension used: class rvalue used as lvalue (Using & on constructor of class for array init) conf.Options.Add(new Sharpmake.Options.Vc.Compiler.DisableSpecificWarnings(DisabledWarning.ToArray())); conf.Options.Add(Sharpmake.Options.Vc.General.TreatWarningsAsErrors.Enable); conf.Options.Add(Sharpmake.Options.Vc.Compiler.Exceptions.Disable); conf.Options.Add(Sharpmake.Options.Vc.Compiler.MinimalRebuild.Disable); //Incompatible with /MP (multi process build) conf.Options.Add(Sharpmake.Options.Vc.Compiler.RTTI.Enable); //Temp, until fix issue with RTTI conf.Options.Add(Options.Vc.General.CharacterSet.Unicode); conf.Options.Add(Options.Vc.General.WindowsTargetPlatformVersion.v10_0_14393_0); }
// Allow child class to remove unsupported mask before adding the new configuration protected void AddTarget(ZenTarget InTarget) { AddTargets(InTarget); }
public void Configure(Configuration conf, ZenTarget target) { conf.SolutionFileName = "[solution.Name]_[target.DevEnv]"; conf.SolutionPath = RootDir + @"\Build\{Projects}"; conf.PlatformName = target.GetNameBuild(); }