Add linux builds

This commit is contained in:
Hubert Mattusch 2023-09-19 21:41:39 +02:00
parent ebfeb14515
commit 610179c21d

View File

@ -56,13 +56,13 @@ public static class BuildingUtils
UploadSteam(); UploadSteam();
} }
[MenuItem("Tools/Build/All Release")] [MenuItem("Tools/Build/All Release")]
public static void BuildRelease() public static void BuildRelease()
{ {
if(!CanBuild()) if(!CanBuild())
return; return;
BuildWindowsRelease(); BuildWindowsRelease();
BuildLinuxRelease();
} }
[MenuItem("Tools/Build/All Development")] [MenuItem("Tools/Build/All Development")]
@ -88,6 +88,15 @@ public static class BuildingUtils
return; return;
BuildWindows(true); BuildWindows(true);
} }
[MenuItem("Tools/Build/Platform/Linux/x64-Release")]
public static void BuildLinuxRelease()
{
if(!CanBuild())
return;
BuildLinux(true);
}
[MenuItem("Tools/Build/Platform/Android/GooglePlay")] [MenuItem("Tools/Build/Platform/Android/GooglePlay")]
public static void BuildGooglePlay() public static void BuildGooglePlay()
@ -109,7 +118,7 @@ public static class BuildingUtils
BuildPipeline.BuildPlayer(buildPlayerOptions); BuildPipeline.BuildPlayer(buildPlayerOptions);
} }
private static void BuildWindows(bool release) private static void BuildWindows(bool release, string[] additionalDefines = default)
{ {
var buildPlayerOptions = new BuildPlayerOptions { scenes = new string[EditorBuildSettings.scenes.Length] }; var buildPlayerOptions = new BuildPlayerOptions { scenes = new string[EditorBuildSettings.scenes.Length] };
for (int i = 0; i < EditorBuildSettings.scenes.Length; i++) for (int i = 0; i < EditorBuildSettings.scenes.Length; i++)
@ -117,12 +126,31 @@ public static class BuildingUtils
buildPlayerOptions.scenes[i] = EditorBuildSettings.scenes[i].path; buildPlayerOptions.scenes[i] = EditorBuildSettings.scenes[i].path;
} }
buildPlayerOptions.extraScriptingDefines = additionalDefines;
buildPlayerOptions.target = BuildTarget.StandaloneWindows64; buildPlayerOptions.target = BuildTarget.StandaloneWindows64;
buildPlayerOptions.options = release ? BuildOptions.None : BuildOptions.Development; buildPlayerOptions.options = release ? BuildOptions.None : BuildOptions.Development;
buildPlayerOptions.locationPathName = Application.dataPath + buildPlayerOptions.locationPathName = Application.dataPath +
$"/../../{Application.productName}-Steam/ContentBuilder/content/windows/{Application.productName}.exe"; $"/../../{Application.productName}-Steam/ContentBuilder/content/windows/{Application.productName}.exe";
BuildPipeline.BuildPlayer(buildPlayerOptions); BuildPipeline.BuildPlayer(buildPlayerOptions);
} }
private static void BuildLinux(bool release, string[] additionalDefines = default)
{
var buildPlayerOptions = new BuildPlayerOptions { scenes = new string[EditorBuildSettings.scenes.Length] };
for (int i = 0; i < EditorBuildSettings.scenes.Length; i++)
{
buildPlayerOptions.scenes[i] = EditorBuildSettings.scenes[i].path;
}
buildPlayerOptions.extraScriptingDefines = additionalDefines;
buildPlayerOptions.target = BuildTarget.StandaloneLinux64;
buildPlayerOptions.options = release ? BuildOptions.None : BuildOptions.Development;
buildPlayerOptions.locationPathName = Application.dataPath +
$"/../../{Application.productName}-Steam/ContentBuilder/content/linux/{Application.productName}.x86_64";
BuildPipeline.BuildPlayer(buildPlayerOptions);
}
private static void IncreaseBuildNumber() private static void IncreaseBuildNumber()
{ {
@ -137,7 +165,7 @@ public static class BuildingUtils
private static void UploadSteam() private static void UploadSteam()
{ {
string command = $"cd {Application.dataPath}/../../{Application.productName}-Steam/ContentBuilder && run_build.bat"; string command = $"cd {Application.dataPath}/../../{Application.productName}-Steam/ContentBuilder && push_build.bat";
var processInfo = new ProcessStartInfo("cmd.exe", $"/c {command}") var processInfo = new ProcessStartInfo("cmd.exe", $"/c {command}")
{ {