diff options
Diffstat (limited to 'engine/SCons/Tool/msvc.py')
| -rw-r--r-- | engine/SCons/Tool/msvc.py | 13 | 
1 files changed, 10 insertions, 3 deletions
diff --git a/engine/SCons/Tool/msvc.py b/engine/SCons/Tool/msvc.py index 4649963..052a0b0 100644 --- a/engine/SCons/Tool/msvc.py +++ b/engine/SCons/Tool/msvc.py @@ -31,9 +31,10 @@ selection method.  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  # -__revision__ = "src/engine/SCons/Tool/msvc.py a56bbd8c09fb219ab8a9673330ffcd55279219d0 2019-03-26 23:16:31 bdeegan" +__revision__ = "src/engine/SCons/Tool/msvc.py e724ae812eb96f4858a132f5b8c769724744faf6 2019-07-21 00:04:47 bdeegan"  import os.path +import os  import re  import sys @@ -161,7 +162,7 @@ def msvc_batch_key(action, env, target, source):      # Note we need to do the env.subst so $MSVC_BATCH can be a reference to      # another construction variable, which is why we test for False and 0      # as strings. -    if not 'MSVC_BATCH' in env or env.subst('$MSVC_BATCH') in ('0', 'False', '', None): +    if 'MSVC_BATCH' not in env or env.subst('$MSVC_BATCH') in ('0', 'False', '', None):          # We're not using batching; return no key.          return None      t = target[0] @@ -187,7 +188,7 @@ def msvc_output_flag(target, source, env, for_signature):      # len(source)==1 as batch mode can compile only one file      # (and it also fixed problem with compiling only one changed file      # with batch mode enabled) -    if not 'MSVC_BATCH' in env or env.subst('$MSVC_BATCH') in ('0', 'False', '', None): +    if 'MSVC_BATCH' not in env or env.subst('$MSVC_BATCH') in ('0', 'False', '', None):          return '/Fo$TARGET'      else:          # The Visual C/C++ compiler requires a \ at the end of the /Fo @@ -283,6 +284,12 @@ def generate(env):      msvc_set_PCHPDBFLAGS(env) +    # Issue #3350 +    # Change tempfile argument joining character from a space to a newline +    # mslink will fail if any single line is too long, but is fine with many lines +    # in a tempfile +    env['TEMPFILEARGJOIN'] = os.linesep +      env['PCHCOM'] = '$CXX /Fo${TARGETS[1]} $CXXFLAGS $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS /c $SOURCES /Yc$PCHSTOP /Fp${TARGETS[0]} $CCPDBFLAGS $PCHPDBFLAGS'      env['BUILDERS']['PCH'] = pch_builder  | 
