diff options
author | William Deegan <bill@baddogconsulting.com> | 2016-11-28 00:05:11 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2016-11-28 00:05:11 (GMT) |
commit | b000c4588d0c5f01d2ff6e1a60785373b22ea044 (patch) | |
tree | 25adc9ab868d490faff8d634fba68c1d9c33137a /src/engine/SCons/Tool | |
parent | 30247efa139711be7f2d7342c01b1c817985df0c (diff) | |
download | SCons-b000c4588d0c5f01d2ff6e1a60785373b22ea044.zip SCons-b000c4588d0c5f01d2ff6e1a60785373b22ea044.tar.gz SCons-b000c4588d0c5f01d2ff6e1a60785373b22ea044.tar.bz2 |
tests for msvc version specific PCHPDBFLAGS changes
Diffstat (limited to 'src/engine/SCons/Tool')
-rw-r--r-- | src/engine/SCons/Tool/msvc.py | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/engine/SCons/Tool/msvc.py b/src/engine/SCons/Tool/msvc.py index 20b5d28..e1b0536 100644 --- a/src/engine/SCons/Tool/msvc.py +++ b/src/engine/SCons/Tool/msvc.py @@ -60,6 +60,21 @@ def validate_vars(env): if not SCons.Util.is_String(env['PCHSTOP']): raise SCons.Errors.UserError("The PCHSTOP construction variable must be a string: %r"%env['PCHSTOP']) +def msvc_set_PCHPDBFLAGS(env): + """ + Set appropriate PCHPDBFLAGS for the MSVC version being used. + """ + if env.get('MSVC_VERSION',False): + maj, min = msvc_version_to_maj_min(env['MSVC_VERSION']) + if maj < 8: + env['PCHPDBFLAGS'] = SCons.Util.CLVar(['${(PDB and "/Yd") or ""}']) + else: + env['PCHPDBFLAGS'] = '' + else: + # Default if we can't determine which version of MSVC we're using + env['PCHPDBFLAGS'] = SCons.Util.CLVar(['${(PDB and "/Yd") or ""}']) + + def pch_emitter(target, source, env): """Adds the object file target.""" @@ -259,15 +274,7 @@ def generate(env): env['CFILESUFFIX'] = '.c' env['CXXFILESUFFIX'] = '.cc' - if env.get('MSVC_VERSION',False): - maj, min = msvc_version_to_maj_min(env['MSVC_VERSION']) - if maj < 8: - env['PCHPDBFLAGS'] = SCons.Util.CLVar(['${(PDB and "/Yd") or ""}']) - else: - env['PCHPDBFLAGS'] = '' - else: - # Default if we can't determine which version of MSVC we're using - env['PCHPDBFLAGS'] = SCons.Util.CLVar(['${(PDB and "/Yd") or ""}']) + msvc_set_PCHPDBFLAGS(env) env['PCHCOM'] = '$CXX /Fo${TARGETS[1]} $CXXFLAGS $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS /c $SOURCES /Yc$PCHSTOP /Fp${TARGETS[0]} $CCPDBFLAGS $PCHPDBFLAGS' |