diff options
| -rw-r--r-- | setuptools/msvc.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/setuptools/msvc.py b/setuptools/msvc.py index 6fb3300b..da26371c 100644 --- a/setuptools/msvc.py +++ b/setuptools/msvc.py @@ -85,6 +85,13 @@ def patch_for_specialized_compiler(): except Exception: pass + try: + # Patch distutils._msvccompiler.MSVCCompiler.library_dir_option + unpatched['msvc14_library_dir_option'] = msvc14compiler.MSVCCompiler.library_dir_option + msvc14compiler.MSVCCompiler.library_dir_option = msvc14_library_dir_option + except Exception: + pass + def msvc9_find_vcvarsall(version): """ @@ -212,6 +219,26 @@ def msvc14_get_vc_env(plat_spec): raise +def msvc14_library_dir_option(self, dir): + """ + Patched "distutils._msvccompiler.MSVCCompiler.library_dir_option" + to fix unquoted path in "\LIBPATH" argument when a space is on path. + + Parameters + ---------- + dir: str + Path to convert in "\LIBPATH" argument. + + Return + ------ + "\LIBPATH" argument: str + """ + if ' ' in dir and '"' not in dir: + # Quote if space and not already quoted + dir = '"%s"' % dir + return unpatched['msvc14_library_dir_option'](self, dir) + + def _augment_exception(exc, version, arch=''): """ Add details to the exception message to help guide the user |
