From cc6d4488369272cb78ff837b1753b4de3f1d86b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=8D=9A=7ENex?= <87421482+NexIsDumb@users.noreply.github.com> Date: Sun, 24 Mar 2024 03:43:28 +0100 Subject: [PATCH] automatic installation for vs build tools thanks to @crowplexus for the curl and the vs_Community.exe cmd lines! --- README.md | 18 +++--------------- commandline/commands/Compiler.hx | 2 +- commandline/commands/Update.hx | 12 ++++++++++++ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index d09c559a..c4439c44 100644 --- a/README.md +++ b/README.md @@ -30,22 +30,10 @@ In the future (when the engine won't be a WIP anymore) we're gonna also publish ##### Tested on Windows 10 21H2 1. Install [version 4.2.5 of Haxe](https://haxe.org/download/version/4.2.5/). -2. Download [Visual Studio Build Tools](https://aka.ms/vs/17/release/vs_BuildTools.exe) -3. Wait for the Visual Studio Installer to install -4. On the Visual Studio installer screen, go to the "Individual components" tab and only select those options: - - MSVC v143 VS 2022 C++ x64/x86 build tools (Latest) - - Windows 10/11 SDK (any works) -5. This is what your Installation details panel should look like. Once correct, press "Install". - - ⚠ This will download around 1.07 GB of data from the internet, and will require around 5.5 GB of available space on your computer. - -

- -

- -6. Once you finish downloading those components, download and install [`git-scm`](https://git-scm.com/download/win). +2. Download and install [`git-scm`](https://git-scm.com/download/win). - Leave all installation options as default. -7. Run `update.bat` using cmd or double-clicking it, and wait for the libraries to install. -8. Once the libraries are installed, run `haxelib run lime test windows` to compile and launch the game (may take a long time) +3. Run `update.bat` using cmd or double-clicking it, and wait for the libraries to install. +4. Once the libraries are installed, run `haxelib run lime test windows` to compile and launch the game (may take a long time) - ℹ You can run `haxelib run lime setup` to make the lime command global, allowing you to execute `lime test windows` directly.
diff --git a/commandline/commands/Compiler.hx b/commandline/commands/Compiler.hx index 62000723..fe64c198 100644 --- a/commandline/commands/Compiler.hx +++ b/commandline/commands/Compiler.hx @@ -20,7 +20,7 @@ class Compiler { Sys.command("lime", arg); } - private static function getBuildTarget() { + public static function getBuildTarget() { return switch(Sys.systemName()) { case "Windows": "windows"; diff --git a/commandline/commands/Update.hx b/commandline/commands/Update.hx index d43c3620..a2d81153 100644 --- a/commandline/commands/Update.hx +++ b/commandline/commands/Update.hx @@ -71,6 +71,18 @@ class Update { } } } + + // vswhere.exe its used to find any visual studio related installations on the system, including full visual studio ide installations, visual studio build tools installations, and other related components - Nex + if (Compiler.getBuildTarget().toLowerCase() == "windows" && new Process('"C:/Program Files (x86)/Microsoft Visual Studio/Installer/vswhere.exe" -property catalog_productDisplayVersion').exitCode(true) == 1) { + prettyPrint("Installing Microsoft Visual Studio Community (Dependency)"); + Sys.command("curl -# -O https://download.visualstudio.microsoft.com/download/pr/3105fcfe-e771-41d6-9a1c-fc971e7d03a7/8eb13958dc429a6e6f7e0d6704d43a55f18d02a253608351b6bf6723ffdaf24e/vs_Community.exe"); + Sys.command("vs_Community.exe --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.19041 -p"); + FileSystem.deleteFile("vs_Community.exe"); + + prettyPrint('Because of this component if you want to compile you have to restart the device.'); + Sys.print("Do you wish to do it now [y/n]? "); + if(Sys.stdin().readLine().toLowerCase() == "y") Sys.command("shutdown /r /t 0 /f"); + } } public static function prettyPrint(text:String) {