From 0c703eca9ddf7e315ff16bf784bf377e82cdbeb8 Mon Sep 17 00:00:00 2001 From: Booklordofthedings Date: Mon, 24 Feb 2025 18:31:56 +0100 Subject: [PATCH] Minimal version of a setup project --- Setup/BeefProj.toml | 5 +++++ Setup/BeefSpace.toml | 5 +++++ Setup/src/Program.bf | 30 ++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 Setup/BeefProj.toml create mode 100644 Setup/BeefSpace.toml create mode 100644 Setup/src/Program.bf diff --git a/Setup/BeefProj.toml b/Setup/BeefProj.toml new file mode 100644 index 0000000..d9a3024 --- /dev/null +++ b/Setup/BeefProj.toml @@ -0,0 +1,5 @@ +FileVersion = 1 + +[Project] +Name = "Setup" +StartupObject = "Setup.Program" diff --git a/Setup/BeefSpace.toml b/Setup/BeefSpace.toml new file mode 100644 index 0000000..6475276 --- /dev/null +++ b/Setup/BeefSpace.toml @@ -0,0 +1,5 @@ +FileVersion = 1 +Projects = {Setup = {Path = "."}} + +[Workspace] +StartupProject = "Setup" diff --git a/Setup/src/Program.bf b/Setup/src/Program.bf new file mode 100644 index 0000000..e22b4ab --- /dev/null +++ b/Setup/src/Program.bf @@ -0,0 +1,30 @@ +namespace Setup; + +using System; +using System.Diagnostics; + +class Program +{ + public static void Main() + { + if(AttemptToDownload() case .Ok) + return; + } + + public static Result AttemptToDownload() + { + ProcessStartInfo info = scope .(); + info.UseShellExecute = false; + info.SetFileNameAndArguments("curl -o sdl3.zip -L https://github.com/libsdl-org/SDL/releases/download/release-3.2.4/SDL3-devel-3.2.4-mingw.zip"); + + SpawnedProcess p = scope .(); + if(p.Start(info) case .Err) + return .Err; + + while(!p.HasExited) {} + + if(p.ExitCode != 0) + return .Err; + return .Ok; + } +} \ No newline at end of file