diff options
-rw-r--r-- | mesonbuild/compilers/mixins/visualstudio.py | 6 | ||||
-rwxr-xr-x | run_unittests.py | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/mesonbuild/compilers/mixins/visualstudio.py b/mesonbuild/compilers/mixins/visualstudio.py index 9fddbb4..ebf51ff 100644 --- a/mesonbuild/compilers/mixins/visualstudio.py +++ b/mesonbuild/compilers/mixins/visualstudio.py @@ -217,7 +217,9 @@ class VisualStudioLikeCompiler(metaclass=abc.ABCMeta): # -pthread is only valid for GCC if i in ('-mms-bitfields', '-pthread'): continue - if i.startswith('-L'): + if i.startswith('-LIBPATH:'): + i = '/LIBPATH:' + i[9:] + elif i.startswith('-L'): i = '/LIBPATH:' + i[2:] # Translate GNU-style -lfoo library name to the import library elif i.startswith('-l'): @@ -250,7 +252,7 @@ class VisualStudioLikeCompiler(metaclass=abc.ABCMeta): def native_args_to_unix(cls, args: typing.List[str]) -> typing.List[str]: result = [] for arg in args: - if arg.startswith('/LIBPATH:'): + if arg.startswith(('/LIBPATH:', '-LIBPATH:')): result.append('-L' + arg[9:]) elif arg.endswith(('.a', '.lib')) and not os.path.isabs(arg): result.append('-l' + arg) diff --git a/run_unittests.py b/run_unittests.py index 80b23b7..abb4134 100755 --- a/run_unittests.py +++ b/run_unittests.py @@ -3162,7 +3162,7 @@ recommended as it is not supported on some platforms''') env = get_fake_env(testdirlib, self.builddir, self.prefix) if env.detect_c_compiler(MachineChoice.HOST).get_id() in {'msvc', 'clang-cl', 'intel-cl'}: # msvc-like compiler, also test it with msvc-specific flags - libdir_flags += ['/LIBPATH:'] + libdir_flags += ['/LIBPATH:', '-LIBPATH:'] else: # static libraries are not linkable with -l with msvc because meson installs them # as .a files which unix_args_to_native will not know as it expects libraries to use @@ -3176,6 +3176,7 @@ recommended as it is not supported on some platforms''') for libdir_flag in libdir_flags: # build library + self.new_builddir() self.init(testdirlib, extra_args=extra_args) self.build() self.install() |