diff options
Diffstat (limited to 'mp/src/vpc_scripts/source_win32_base.vpc')
| -rw-r--r-- | mp/src/vpc_scripts/source_win32_base.vpc | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/mp/src/vpc_scripts/source_win32_base.vpc b/mp/src/vpc_scripts/source_win32_base.vpc index 60968484..3749a07a 100644 --- a/mp/src/vpc_scripts/source_win32_base.vpc +++ b/mp/src/vpc_scripts/source_win32_base.vpc @@ -3,8 +3,10 @@ $Configuration $General { // Request a specific compiler toolset. - $PlatformToolset "v110" [$VS2012] // VS 11 - $PlatformToolset "v120" [$VS2013] // VS 12 + $PlatformToolset "v110_xp" [$VS2012 && !$ANALYZE] // VS 2012 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx + $PlatformToolset "v110" [$VS2012 && $ANALYZE] // VS 2012 for /analyze + $PlatformToolset "v120_xp" [$VS2013 && !$ANALYZE] // VS 2013 targeting Windows XP - http://msdn.microsoft.com/en-us/library/vstudio/jj851139.aspx + $PlatformToolset "v120" [$VS2013 && $ANALYZE] // VS 2013 for /analyze } $General @@ -15,16 +17,17 @@ $Configuration // VS 2012 compiles fine but does not link. We want to redirect to stub versions of // the tools (like link.exe and mt.exe) so that the link stage will be NOPed when // doing /analyze builds. - $ExecutableDirectories "$SRCDIR\devtools\vs_nop_tools;$BASE" [$ANALYZE && ($VS2012 || $VS2013)] + $ExecutableDirectories "$SRCDIR\devtools\vs_nop_tools;$BASE" [$ANALYZE] } $Compiler { + $MultiProcessorCompilation "True" + // warning C4316: object allocated on the heap may not be aligned 16 $DisableSpecificWarnings "$BASE;4316" [$VS2013] - // When using /analyze (triggered with /define:ANALYZE on the vpc command line) we want - // to use /MP but not at its most aggressive setting, and we want to forcibly disable lots + // When using /analyze (triggered with /define:ANALYZE on the vpc command line) we want to forcibly disable lots // of warnings (also disabled in platform.h but not everybody includes that). // See platform.h for the list of warnings with explanations. // warning C6318: Ill-defined __try/__except: use of the constant EXCEPTION_CONTINUE_SEARCH -- bogus @@ -33,7 +36,9 @@ $Configuration // Note that /analyze for VS 2010 only works with the 32-bit compiler, but for VS 2012 it works on 64-bit // as well. $DisableSpecificWarnings "$BASE;6308;6255;6387;6309;6011;6211;6031;6326;6239;6285;6237;6235;6240;6323;6326;6335;6320;6250;6384;6318;6322" [$ANALYZE] - $AdditionalOptions "$BASE /MP3 /analyze /analyze:stacksize100000" [$ANALYZE] + // See http://randomascii.wordpress.com/2011/10/04/analyzecommand-line-options/ for details on these options. + // /analyze:only may result in fewer warnings being reported, but the warnings it misses should show up in the regular build. + $AdditionalOptions "$BASE /analyze /analyze:only /analyze:stacksize100000" [$ANALYZE] // Specify /define:ALLOWSHADOWING to suppress variable shadowing warnings $DisableSpecificWarnings "$BASE;6244;6246" [$ANALYZE && $ALLOWSHADOWING] |