automatic installation for vs build tools

thanks to @crowplexus for the curl and the vs_Community.exe cmd lines!
This commit is contained in:
⍚~Nex
2024-03-24 03:43:28 +01:00
parent 9f798911f1
commit cc6d448836
3 changed files with 16 additions and 16 deletions
+1 -1
View File
@@ -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";
+12
View File
@@ -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) {