diff options
author | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2018-04-07 04:06:29 -0400 |
---|---|---|
committer | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2018-04-17 02:04:37 -0400 |
commit | dbb025a175f31dfb1c8bb3a1e3bb7030e2625329 (patch) | |
tree | 88534c032302debb17a42b4c2476013088b2405c /mesonbuild/backend/vs2010backend.py | |
parent | f7a7059250ab9cf71c68ca78812a24a35ee745f6 (diff) | |
download | meson-dbb025a175f31dfb1c8bb3a1e3bb7030e2625329.zip meson-dbb025a175f31dfb1c8bb3a1e3bb7030e2625329.tar.gz meson-dbb025a175f31dfb1c8bb3a1e3bb7030e2625329.tar.bz2 |
Add an OpenMP dependency.
This works similarly to the thread dependency which stores the various
inconsistent flags in each compiler.
Diffstat (limited to 'mesonbuild/backend/vs2010backend.py')
-rw-r--r-- | mesonbuild/backend/vs2010backend.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index e9a3519..4959e6e 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -824,7 +824,10 @@ class Vs2010Backend(backends.Backend): for d in reversed(target.get_external_deps()): # Cflags required by external deps might have UNIX-specific flags, # so filter them out if needed - d_compile_args = compiler.unix_args_to_native(d.get_compile_args()) + if isinstance(d, dependencies.OpenMPDependency): + d_compile_args = compiler.openmp_flags() + else: + d_compile_args = compiler.unix_args_to_native(d.get_compile_args()) for arg in d_compile_args: if arg.startswith(('-D', '/D')): define = arg[2:] @@ -915,11 +918,17 @@ class Vs2010Backend(backends.Backend): for dep in target.get_external_deps(): # Extend without reordering or de-dup to preserve `-L -l` sets # https://github.com/mesonbuild/meson/issues/1718 - extra_link_args.extend_direct(dep.get_link_args()) + if isinstance(dep, dependencies.OpenMPDependency): + extra_link_args.extend_direct(compiler.openmp_flags()) + else: + extra_link_args.extend_direct(dep.get_link_args()) for d in target.get_dependencies(): if isinstance(d, build.StaticLibrary): for dep in d.get_external_deps(): - extra_link_args.extend_direct(dep.get_link_args()) + if isinstance(dep, dependencies.OpenMPDependency): + extra_link_args.extend_direct(compiler.openmp_flags()) + else: + extra_link_args.extend_direct(dep.get_link_args()) # Add link args for c_* or cpp_* build options. Currently this only # adds c_winlibs and cpp_winlibs when building for Windows. This needs # to be after all internal and external libraries so that unresolved |