diff --git a/uppsrc/ide/Builders/MscBuilder.cpp b/uppsrc/ide/Builders/MscBuilder.cpp index 28213db5e..ec6b0ac94 100644 --- a/uppsrc/ide/Builders/MscBuilder.cpp +++ b/uppsrc/ide/Builders/MscBuilder.cpp @@ -125,7 +125,7 @@ bool MscBuilder::IsMsc86() const { return HasFlag("MSC8") || HasFlag("MSC9") || HasFlag("MSC10") || HasFlag("MSC11") || HasFlag("MSC12") || HasFlag("MSC15") || HasFlag("MSC14") || HasFlag("MSC17") - || HasFlag("MSC19"); + || HasFlag("MSC19") || HasFlag("MSC22"); } bool MscBuilder::IsMscArm() const @@ -137,7 +137,7 @@ bool MscBuilder::IsMsc64() const { return HasFlag("MSC8X64") || HasFlag("MSC9X64") || HasFlag("MSC10X64") || HasFlag("MSC11X64") || HasFlag("MSC12X64") || HasFlag("MSC14X64") || HasFlag("MSC15X64") || HasFlag("MSC17X64") - || HasFlag("MSC19X64"); + || HasFlag("MSC19X64") || HasFlag("MSC22X64"); } String MscBuilder::LinkerName() const @@ -491,6 +491,7 @@ bool MscBuilder::CreateLib(const String& product, const Vector& obj, || HasFlag("MSC15") || HasFlag("MSC15X64") || HasFlag("MSC17") || HasFlag("MSC17X64") || HasFlag("MSC19") || HasFlag("MSC19X64") + || HasFlag("MSC22") || HasFlag("MSC22X64") ; bool is_shared = HasFlag("SO"); String linker, lib; @@ -623,6 +624,7 @@ bool MscBuilder::Link(const Vector& linkfile, const String& linkoptions, || HasFlag("MSC15") || HasFlag("MSC15X64") || HasFlag("MSC17") || HasFlag("MSC17X64") || HasFlag("MSC19") || HasFlag("MSC19X64") + || HasFlag("MSC22") || HasFlag("MSC22X64") ; for(int i = 0; i < linkfile.GetCount(); i++) if(GetFileTime(linkfile[i]) > targettime) { @@ -756,6 +758,8 @@ INITIALIZER(MscBuilder) RegisterBuilder("MSC17X64", CreateMscBuilder); RegisterBuilder("MSC19", CreateMscBuilder); RegisterBuilder("MSC19X64", CreateMscBuilder); + RegisterBuilder("MSC22", CreateMscBuilder); + RegisterBuilder("MSC22X64", CreateMscBuilder); RegisterBuilder("EVC_ARM", CreateMscBuilder); RegisterBuilder("EVC_MIPS", CreateMscBuilder); RegisterBuilder("EVC_SH3", CreateMscBuilder); diff --git a/uppsrc/ide/InstantSetup.cpp b/uppsrc/ide/InstantSetup.cpp index 0cc0b70f1..11cef9ca7 100644 --- a/uppsrc/ide/InstantSetup.cpp +++ b/uppsrc/ide/InstantSetup.cpp @@ -196,21 +196,23 @@ void InstantSetup() default_method = Nvl(default_method, method); } - enum { VS_2015, VS_2017, BT_2017, VS_2019, VSP_2019, BT_2019 }; + enum { VS_2015, VS_2017, BT_2017, VS_2019, VSP_2019, BT_2019, BT_2022 }; DirFinder df; - for(int version = VS_2015; version <= BT_2019; version++) + for(int version = VS_2015; version <= BT_2022; version++) for(int x64 = 0; x64 < 2; x64++) { String x86method = decode(version, VS_2015, "MSVS15", VS_2017, "MSVS17", BT_2017, "MSBT17", VS_2019, "MSVS19", VSP_2019, "MSVC19P", BT_2019, "MSBT19", + BT_2022, "MSBT22", "MSBT"); String x64s = x64 ? "x64" : ""; String method = x86method + x64s; String builder = decode(version, VS_2015, "MSC15", VS_2017, "MSC17", BT_2017, "MSC17", VS_2019, "MSC19", VSP_2019, "MSC19", BT_2019, "MSC19", - "MSC19" + BT_2022, "MSC22", + "MSC22" ) + ToUpper(x64s); #ifdef INSTANT_TESTING @@ -240,6 +242,7 @@ void InstantSetup() BT_2019, "/microsoft visual studio/2019/buildtools/vc/tools/msvc", VS_2019, "/microsoft visual studio/2019/community/vc/tools/msvc", VSP_2019, "/microsoft visual studio/2019/professional/vc/tools/msvc", + BT_2022, "/microsoft visual studio/2022/buildtools/vc/tools/msvc", ""), x64 ? "bin/hostx64/x64/cl.exe;bin/hostx64/x64/mspdb140.dll" : "bin/hostx86/x86/cl.exe;bin/hostx86/x86/mspdb140.dll"); @@ -352,7 +355,7 @@ void InstantSetup() bmSet(bm, "RELEASE_LINK", x64 ? "/STACK:20000000" : "/STACK:10000000"); bmSet(bm, "DISABLE_BLITZ", ""); bmSet(bm, "ALLOW_PRECOMPILED_HEADERS", "1"); - bmSet(bm, "DEBUGGER", findarg(version, BT_2017, BT_2019) >= 0 ? String() + bmSet(bm, "DEBUGGER", findarg(version, BT_2017, BT_2019, BT_2022) >= 0 ? String() : GetFileFolder(vc) + "/Common7/IDE/devenv.exe"); bm.GetAdd("PATH") = Join(bins, ";");