<commit_before>///////////////////////////////////////////////////////////////////////////////
// ARGUMENTS
///////////////////////////////////////////////////////////////////////////////

var target = Argument<string>("target", "Default");
var configuration = Argument<string>("configuration", "Release");

///////////////////////////////////////////////////////////////////////////////
// GLOBAL VARIABLES
///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////
// SETUP / TEARDOWN
///////////////////////////////////////////////////////////////////////////////

Setup(context =>
{
    Information("Setup");
});

Teardown(context =>
{
    Information("Bye Bye");
});


///////////////////////////////////////////////////////////////////////////////
// TASK DEFINITIONS
///////////////////////////////////////////////////////////////////////////////

Task("Install")
    .Does(() => {});

Task("Bootstrap")
    .Does(() => {
        Information("Build Projucer");
        MSBuild("./Submodules/JUCE/extras/Projucer/Builds/VisualStudio2015/Projucer.sln", settings => settings
            .SetVerbosity(Verbosity.Quiet)
            .WithTarget("Build")
            .SetConfiguration(configuration)
            .SetPlatformTarget(PlatformTarget.x64));
        Information("Create Projects");
        StartProcess("./Submodules/JUCE/extras/Projucer/Builds/VisualStudio2015/x64/Release/Projucer.exe", "--resave Projects/Standalone/Standalone.jucer");
        StartProcess("./Submodules/JUCE/extras/Projucer/Builds/VisualStudio2015/x64/Release/Projucer.exe", "--resave Projects/Plugin/Plugin.jucer");
    });

Task("Standalone")
    .Does(() => {
        Information("Build Standalone Application");
        MSBuild("./Projects/Standalone/Builds/VisualStudio2015/Soundboard.sln", settings => settings
            .SetVerbosity(Verbosity.Minimal)
            .WithTarget("Build")
            .SetConfiguration(configuration)
            .SetPlatformTarget(PlatformTarget.x64));
    });

Task("Plugin")
    .Does(() => {
        Information("Build Plugin 32bit");
        MSBuild("./Projects/Plugin/Builds/VisualStudio2015/Plugin.sln", settings => settings
            .SetVerbosity(Verbosity.Minimal)
            .WithTarget("Build")
            .SetConfiguration(configuration)
            .SetPlatformTarget(PlatformTarget.Win32));
    });

Task("Plugin64")
    .Does(() => {
        Information("Build Plugin 64bit");
        MSBuild("./Projects/Plugin/Builds/VisualStudio2015/Plugin.sln", settings => settings
            .SetVerbosity(Verbosity.Minimal)
            .WithTarget("Build")
            .SetConfiguration(configuration)
            .SetPlatformTarget(PlatformTarget.x64));
    });

Task("Build")
    .IsDependentOn("Bootstrap")
    .IsDependentOn("Standalone")
    .IsDependentOn("Plugin")
    .IsDependentOn("Plugin64")
    .Does(() => {});

//////////////////////////////////////////////////////////////////////
// TASK TARGETS
//////////////////////////////////////////////////////////////////////

Task("Default")
    .IsDependentOn("Build");

//////////////////////////////////////////////////////////////////////
// EXECUTION
//////////////////////////////////////////////////////////////////////

RunTarget(target);<commit_msg>add macOS build settings<commit_after>#addin "Cake.XCode"
#addin nuget:?package=Cake.DoInDirectory

///////////////////////////////////////////////////////////////////////////////
// ARGUMENTS
///////////////////////////////////////////////////////////////////////////////

var target = Argument<string>("target", "Default");
var configuration = Argument<string>("configuration", "Release");
///////////////////////////////////////////////////////////////////////////////
// GLOBAL VARIABLES
///////////////////////////////////////////////////////////////////////////////

string os = "Windows";

///////////////////////////////////////////////////////////////////////////////
// SETUP / TEARDOWN
///////////////////////////////////////////////////////////////////////////////

Setup(context =>
{
    if (IsRunningOnUnix()) {
	os = "macOS";
	
    }
    Information("Setup");
});

Teardown(context =>
{
    Information("Bye Bye");
});


///////////////////////////////////////////////////////////////////////////////
// TASK DEFINITIONS
///////////////////////////////////////////////////////////////////////////////

Task("Install")
    .Does(() => {});

Task("Bootstrap")
    .Does(() => {
	if(os == "Windows") {
            Information("Build Projucer");
            MSBuild("./Submodules/JUCE/extras/Projucer/Builds/VisualStudio2015/Projucer.sln", settings => settings
                .SetVerbosity(Verbosity.Quiet)
                .WithTarget("Build")
                .SetConfiguration(configuration)
                .SetPlatformTarget(PlatformTarget.x64));
            Information("Create Projects");
            StartProcess("./Submodules/JUCE/extras/Projucer/Builds/VisualStudio2015/x64/Release/Projucer.exe", "--resave Projects/Standalone/Standalone.jucer");
            StartProcess("./Submodules/JUCE/extras/Projucer/Builds/VisualStudio2015/x64/Release/Projucer.exe", "--resave Projects/Plugin/Plugin.jucer");
	} else if (os == "macOS") {
            Information("Build Projucer");
            DoInDirectory("./Submodules/JUCE/extras/Projucer/Builds/MacOSX", () => {
            	XCodeBuild(new XCodeBuildSettings {
		    Verbose = false,
		    Configuration = "Release"
		});
            });
            Information("Create Projects");
            StartProcess("./Submodules/JUCE/extras/Projucer/Builds/MacOSX/build/Release/Projucer.app/Contents/MacOS/Projucer", "--resave Projects/Standalone/Standalone.jucer");
            StartProcess("./Submodules/JUCE/extras/Projucer/Builds/MacOSX/build/Release/Projucer.app/Contents/MacOS/Projucer", "--resave Projects/Plugin/Plugin.jucer");
	}
    });

Task("Standalone")
    .Does(() => {
        Information("Build Standalone Application");
	if(os == "Windows") {
            MSBuild("./Projects/Standalone/Builds/VisualStudio2015/Soundboard.sln", settings => settings
                .SetVerbosity(Verbosity.Minimal)
                .WithTarget("Build")
                .SetConfiguration(configuration)
                .SetPlatformTarget(PlatformTarget.x64));
        } else if (os == "macOS") {
	    DoInDirectory("./Projects/Standalone/Builds/MacOSX", () => {
	        XCodeBuild(new XCodeBuildSettings {
		    Verbose = false,
		    Configuration = "Release"
		});
	    });
	}
    });

Task("Plugin")
    .Does(() => {
        if (os == "Windows") {
        Information("Build Plugin 32bit");
	    MSBuild("./Projects/Plugin/Builds/VisualStudio2015/Plugin.sln", settings => settings
                .SetVerbosity(Verbosity.Minimal)
                .WithTarget("Build")
                .SetConfiguration(configuration)
                .SetPlatformTarget(PlatformTarget.Win32));
	} else if (os == "macOS") {
            Information("Build Plugin");
	    DoInDirectory("./Projects/Plugin/Builds/MacOSX", () => {
                XCodeBuild(new XCodeBuildSettings {
                    Verbose = false,
                    Configuration = "Release"
                });
            });
	}
    });

Task("Plugin64")
    .Does(() => {
	if (os == "Windows") {
            Information("Build Plugin 64bit");
            MSBuild("./Projects/Plugin/Builds/VisualStudio2015/Plugin.sln", settings => settings
                .SetVerbosity(Verbosity.Minimal)
                .WithTarget("Build")
                .SetConfiguration(configuration)
                .SetPlatformTarget(PlatformTarget.x64));
	}
    });

Task("Build")
    .IsDependentOn("Bootstrap")
    .IsDependentOn("Standalone")
    .IsDependentOn("Plugin")
    .IsDependentOn("Plugin64")
    .Does(() => {});

//////////////////////////////////////////////////////////////////////
// TASK TARGETS
//////////////////////////////////////////////////////////////////////

Task("Default")
    .IsDependentOn("Build");

//////////////////////////////////////////////////////////////////////
// EXECUTION
//////////////////////////////////////////////////////////////////////

RunTarget(target);
{'fraction_non_alphanumeric': 0.34085121862495454, 'fraction_numerical': 0.010670546865526858, 'mean_word_length': 1.3019815796818308, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 34, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3888058', 'n_tokens_mistral': 2110, 'n_tokens_neox': 1967, 'n_words': 247}