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");
 }
示例#10
0
 public new void Configure(Configuration conf, ZenTarget target)
 {
     base.Configure(conf, target);
 }
示例#11
0
 protected new void AddTarget(ZenTarget InTarget)
 {
     InTarget.EngineMode &= EngineMode.Tool;
     base.AddTarget(InTarget);
 }
示例#12
0
        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);
        }
示例#13
0
 // Allow child class to remove unsupported mask before adding the new configuration
 protected void AddTarget(ZenTarget InTarget)
 {
     AddTargets(InTarget);
 }
示例#14
0
 public void Configure(Configuration conf, ZenTarget target)
 {
     conf.SolutionFileName = "[solution.Name]_[target.DevEnv]";
     conf.SolutionPath     = RootDir + @"\Build\{Projects}";
     conf.PlatformName     = target.GetNameBuild();
 }