Added experimental support for v143 (VS2022) and v141 (VS2017) toolsets

This commit is contained in:
Blixibon 2021-11-11 09:33:29 -06:00
parent 49befe0f77
commit aaeb5f5835
8 changed files with 31 additions and 26 deletions

View File

@ -71,7 +71,7 @@ $Configuration
$SystemFrameworks "Carbon" [$OSXALL]
$SystemLibraries "rt" [$LINUXALL]
$IgnoreImportLibrary "TRUE"
$AdditionalOptions "$BASE /force:multiple" [$VS2019] // Required to fix _hypot in particles.lib (this may be a temporary solution)
$AdditionalOptions "$BASE /force:multiple" [($VS2017||$VS2019||$VS2022)] // Required to fix _hypot in particles.lib (this may be a temporary solution)
$AdditionalDependencies "$BASE winmm.lib" [$WIN32]
$AdditionalDependencies "$BASE wsock32.lib Ws2_32.lib" [$BUILD_REPLAY]
}

View File

@ -14,8 +14,8 @@ $Configuration
$Compiler
{
$AdditionalIncludeDirectories "$BASE,..\common,$SRCDIR\game\shared,.\"
$PreprocessorDefinitions "$BASE;PROTECTED_THINGS_DISABLE;captioncompiler" [$VS2019]
$PreprocessorDefinitions "$BASE;captioncompiler" [!$VS2019]
$PreprocessorDefinitions "$BASE;PROTECTED_THINGS_DISABLE;captioncompiler" [($VS2017||$VS2019||$VS2022)]
$PreprocessorDefinitions "$BASE;captioncompiler" [!($VS2017||$VS2019||$VS2022)]
}
}

View File

@ -19,12 +19,15 @@ $Conditional "SOURCESDK" "1"
//-----------------------------------------------------------------------------
// Mapbase - Additional toolsets (NOTE: Newer toolsets make the solution incompatible with Visual Studio 2013)
// Mapbase - Additional toolsets (NOTE: Enabling any of these makes the solution incompatible with Visual Studio 2013)
$Conditional VS2017 "0" // Toggles Visual Studio 2017 (v141) toolset
$Conditional VS2019 "0" // Toggles Visual Studio 2019 (v142) toolset
$Conditional VS2022 "0" // Toggles Visual Studio 2022 (v143) toolset
//
// Note that the following projects currently do not compile with v142 and are not included in the VS2019 solution:
// Note that the following projects currently do not compile with any of the above toolsets and are not included in
// their solutions:
//
// - phonemeextractor (may be fixable with modification)
// - qc_eyes (might be fixed by having C++ MFC for v141 build tools and/or C++ ATL for v141 build tools installed)

View File

@ -63,7 +63,7 @@ $Project "motionmapper"
$Project "phonemeextractor"
{
"utils\phonemeextractor\phonemeextractor.vpc" [$WIN32 && !$VS2019] // Not currently working with v142; may be fixable with modification
"utils\phonemeextractor\phonemeextractor.vpc" [$WIN32 && !($VS2017||$VS2019||$VS2022)] // Not currently working with newer toolsets; may be fixable with modification
}
$Project "raytrace"
@ -73,7 +73,7 @@ $Project "raytrace"
$Project "qc_eyes"
{
"utils\qc_eyes\qc_eyes.vpc" [$WIN32 && !$VS2019] // Not currently working with v142; might be fixed by having C++ MFC for v141 build tools and/or C++ ATL for v141 build tools installed
"utils\qc_eyes\qc_eyes.vpc" [$WIN32 && !($VS2017||$VS2019||$VS2022)] // Not currently working with newer toolsets; might be fixed by having C++ MFC for v141 build tools and/or C++ ATL for v141 build tools installed
}
$Project "serverplugin_empty"

View File

@ -39,14 +39,14 @@ $Configuration
$Compiler [$WIN32]
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" [!$VS2019]
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" [$VS2019]
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" [!($VS2017||$VS2019||$VS2022)]
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" [($VS2017||$VS2019||$VS2022)]
}
$Linker
{
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib" [($WIN32||$WIN64) && !$VS2019]
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib legacy_stdio_definitions.lib" [($WIN32||$WIN64) && $VS2019]
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib" [($WIN32||$WIN64) && !($VS2017||$VS2019||$VS2022)]
$AdditionalDependencies "$BASE shell32.lib user32.lib advapi32.lib gdi32.lib comdlg32.lib ole32.lib legacy_stdio_definitions.lib" [($WIN32||$WIN64) && ($VS2017||$VS2019||$VS2022)]
$TargetMachine "MachineX86 (/MACHINE:X86)" [$WIN32]
$TargetMachine "MachineX64 (/MACHINE:X64)" [$WIN64]
// Suppress this pointless warning using the undocumented /ignore linker switch
@ -116,8 +116,8 @@ $Project
$CustomBuildStep
{
// General
$CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /safeseh /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [!$VS2019]
$CommandLine "$QUOTE$(VC_ExecutablePath_x64_x86)\ml.exe$QUOTE /safeseh /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [$VS2019]
$CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /safeseh /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [!($VS2017||$VS2019||$VS2022)]
$CommandLine "$QUOTE$(VC_ExecutablePath_x64_x86)\ml.exe$QUOTE /safeseh /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [($VS2017||$VS2019||$VS2022)]
$Description "Compiling pointeroverride.asm"
$Outputs "$(IntDir)\$(InputName).obj"
}

View File

@ -39,8 +39,8 @@ $Configuration
$Compiler [$WIN32]
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" [!$VS2019]
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" [$VS2019]
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" [!($VS2017||$VS2019||$VS2022)]
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" [($VS2017||$VS2019||$VS2022)]
}
$Linker
@ -67,8 +67,8 @@ $Configuration
$PostBuildEvent [!$ANALYZE]
{
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" [!$SOURCESDK && !$VS2019]
$CommandLine "if not exist $QUOTE$OUTBINDIR$QUOTE mkdir $QUOTE$OUTBINDIR$QUOTE" "\n" [!$SOURCESDK && $VS2019]
$CommandLine "call $SRCDIR\vpc_scripts\valve_p4_edit.cmd $OUTBINDIR\$(TargetFileName) $SRCDIR" "\n" [!$SOURCESDK && !($VS2017||$VS2019||$VS2022)]
$CommandLine "if not exist $QUOTE$OUTBINDIR$QUOTE mkdir $QUOTE$OUTBINDIR$QUOTE" "\n" [!$SOURCESDK && ($VS2017||$VS2019||$VS2022)]
$CommandLine "$BASE" "copy $QUOTE$(TargetDir)$QUOTE$(TargetFileName) $OUTBINDIR\$(TargetFileName) >nul" "\n" \
"if ERRORLEVEL 1 goto BuildEventFailed" "\n" \
"if exist $QUOTE$(TargetDir)$QUOTE$(TargetName).map copy $QUOTE$(TargetDir)$QUOTE$(TargetName).map $OUTBINDIR\$(TargetName).map >nul" "\n"
@ -111,8 +111,8 @@ $Project
$CustomBuildStep
{
// General
$CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [!$VS2019]
$CommandLine "$QUOTE$(VC_ExecutablePath_x64_x86)\ml.exe$QUOTE /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [$VS2019]
$CommandLine "$QUOTE$(VCInstallDir)bin\ml.exe$QUOTE /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [!($VS2017||$VS2019||$VS2022)]
$CommandLine "$QUOTE$(VC_ExecutablePath_x64_x86)\ml.exe$QUOTE /c /Cp /Zi /Fo$QUOTE$(IntDir)\$(InputName).obj$QUOTE $QUOTE$(InputPath)$QUOTE" [($VS2017||$VS2019||$VS2022)]
$Description "Compiling pointeroverride.asm"
$Outputs "$(IntDir)\$(InputName).obj"
}

View File

@ -38,8 +38,8 @@ $Configuration
$Compiler [$WIN32]
{
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" [!$VS2019]
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" [$VS2019]
$EnableEnhancedInstructionSet "Streaming SIMD Extensions (/arch:SSE)" [!($VS2017||$VS2019||$VS2022)]
$EnableEnhancedInstructionSet "Streaming SIMD Extensions 2 (/arch:SSE2)" [($VS2017||$VS2019||$VS2022)]
}
$PreBuildEvent

View File

@ -8,11 +8,13 @@ $Configuration
$General
{
// Request a specific compiler toolset.
$PlatformToolset "v110_xp" [$VS2012 && !$ANALYZE && !$VS2019] // VS 2012 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
$PlatformToolset "v110" [$VS2012 && $ANALYZE && !$VS2019] // VS 2012 for /analyze
$PlatformToolset "v120_xp" [$VS2013 && !$ANALYZE && !$VS2019] // VS 2013 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
$PlatformToolset "v120" [$VS2013 && $ANALYZE && !$VS2019] // VS 2013 for /analyze
$PlatformToolset "v110_xp" [$VS2012 && !$ANALYZE && !($VS2017||$VS2019||$VS2022)] // VS 2012 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
$PlatformToolset "v110" [$VS2012 && $ANALYZE && !($VS2017||$VS2019||$VS2022)] // VS 2012 for /analyze
$PlatformToolset "v120_xp" [$VS2013 && !$ANALYZE && !($VS2017||$VS2019||$VS2022)] // VS 2013 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx
$PlatformToolset "v120" [$VS2013 && $ANALYZE && !($VS2017||$VS2019||$VS2022)] // VS 2013 for /analyze
$PlatformToolset "v141" [$VS2017] // VS 2017
$PlatformToolset "v142" [$VS2019] // VS 2019
$PlatformToolset "v143" [$VS2022] // VS 2022
}
$General
@ -35,7 +37,7 @@ $Configuration
// warning C4838: conversion requires a narrowing conversion
// warning C4456-4459: variable shadowing. TODO: fix those!
$DisableSpecificWarnings "$BASE;4316;4838;4456;4457;4458;4459" [$VS2019]
$DisableSpecificWarnings "$BASE;4316;4838;4456;4457;4458;4459" [($VS2017||$VS2019||$VS2022)]
// Having lots of warnings makes it harder to notice new, and possibly
// important warnings, both on buildbot and in the output window. Lots