コード例 #1
0
    public MainProject()
    {
        // Eval paths
        m_RootDirectory = Path.Combine(this.SharpmakeCsPath, @"..\..");

        Name           = mc_ProjectName;
        SourceRootPath = Path.Combine(m_RootDirectory, @"source", mc_ProjectName);

        SourceFilesExtensions.Add(".shader");
        SourceFilesExtensions.Add(".glsl");
        AdditionalSourceRootPaths.Add(Path.Combine(m_RootDirectory, @"data"));

        AddTargets(
            new Target(
                Platform.win64,
                DevEnv.vs2019,
                Optimization.Debug | Optimization.Release
                ),
            new Target(
                Platform.win64,
                DevEnv.vs2022,
                Optimization.Debug | Optimization.Release
                )
            );
    }
コード例 #2
0
        public QTFileCustomBuildProject()
        {
            Name           = "QTFileCustomBuild";
            SourceRootPath = @"[project.SharpmakeCsPath]\codebase";
            QTPath         = @"[project.SharpmakeCsPath]\qt\5.9.2\msvc2017_64";
            QTExeFolder    = @"[project.QTPath]\bin\";

            mocTool = new QtSharpmakeMocTool();
            mocTool.ExcludeMocFromCompileRegex.Add("floatcosanglespinbox.h");
            mocTool.ExcludeMocFromCompileRegex.Add("privatewidget.h");

            SourceFilesExtensions.Add(".qrc", ".ui");

            AddTargets(new Target(
                           Platform.win64,
                           DevEnv.vs2017,
                           Optimization.Debug | Optimization.Release | Optimization.Retail,
                           OutputType.Dll
                           ));

            // Fast build fails regression tests because it embeds system and user paths, which aren't
            // the same on each user's machine.
            //AddTargets(new Target(
            //        Platform.win64,
            //        DevEnv.vs2017,
            //        Optimization.Debug | Optimization.Release | Optimization.Retail,
            //        OutputType.Dll,
            //        Blob.FastBuildUnitys,
            //        BuildSystem.FastBuild
            //));
        }
コード例 #3
0
ファイル: Main.cs プロジェクト: kudaba/AOC2020
        public AOCProject()
        {
            SharpmakeToGlobalRoot = SharpmakeToRoot = @"\..";

            TestProject    = "AOC";
            ShortName      = "AOC";
            SourceRootPath = @"[project.ToRoot]\[project.TestProject]";
            SourceFilesExtensions.Add("txt");
        }
コード例 #4
0
 public UsePrecompExe()
 {
     SourceFilesExtensions.Add(
         ".ceecee",
         ".ceepeepee"
         );
     SourceFilesCompileExtensions.Add(
         ".ceecee",
         ".ceepeepee"
         );
 }
コード例 #5
0
        public ExeProject()
        {
            AddTargets(CommonTarget.GetDefaultTargets());
            Name = "exe";

            SourceFilesExtensions.Add(".xml");
            SourceFilesExtensions.Add(".gradle");

            // Show resource files in project
            AdditionalSourceRootPaths.Add(Path.Combine(Globals.TmpDirectory, @"projects\[project.Name]"));
        }
コード例 #6
0
    public Common()
    {
        AddTargets(
            new Target(
                Platform.win32 | Platform.win64,
                DevEnv.vs2017,
                Optimization.Debug | Optimization.Release
                )
            );

        IsFileNameToLower       = false;
        IsTargetFileNameToLower = false;

        SourceFilesExtensions.Add(".ipp");
    }
コード例 #7
0
        public CustomBuildStepProject()
        {
            Name           = "CustomBuildStep";
            SourceRootPath = @"[project.SharpmakeCsPath]\codebase";
            SourceFilesExtensions.Add(".bat");

            // need to add it explicitly since it's gonna be generated it doesn't exist yet
            SourceFiles.Add(@"[project.SourceRootPath]\main.cpp");

            AddTargets(
                new Target(
                    Platform.win64,
                    DevEnv.vs2017,
                    Optimization.Debug | Optimization.Release,
                    OutputType.Lib,
                    Blob.NoBlob,
                    BuildSystem.MSBuild | BuildSystem.FastBuild
                    )
                );
        }
コード例 #8
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());
        }
コード例 #9
0
ファイル: Main.Sharpmake.cs プロジェクト: Gaktan/AmigoEngine
    public AmigoEngine()
    {
        Name = "Engine";

        RootPath       = @"[project.SharpmakeCsPath]\..\..";
        SourceRootPath = @"[project.RootPath]\Source\Engine";

        // Shader files
        SourceFilesExtensions.Add(".hlsl");
        SourceFilesExcludeRegex.Add(@".*\.generated\.h");

        AddTargets(new Target(
                       Platform.win64,
                       DevEnv.vs2017,
                       Optimization.Debug | Optimization.Release,
                       OutputType.Lib,
                       Blob.NoBlob,
                       BuildSystem.MSBuild,
                       DotNetFramework.v4_5));

        // if set to true, dependencies that the project uses will be copied to the output directory
        DependenciesCopyLocal = DependenciesCopyLocalTypes.None;
    }
コード例 #10
0
ファイル: exe.sharpmake.cs プロジェクト: kudaba/Sharpmake
        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");
        }