aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/vs2010backend.py
diff options
context:
space:
mode:
authorElliott Sales de Andrade <quantum.analyst@gmail.com>2018-04-07 04:06:29 -0400
committerElliott Sales de Andrade <quantum.analyst@gmail.com>2018-04-17 02:04:37 -0400
commitdbb025a175f31dfb1c8bb3a1e3bb7030e2625329 (patch)
tree88534c032302debb17a42b4c2476013088b2405c /mesonbuild/backend/vs2010backend.py
parentf7a7059250ab9cf71c68ca78812a24a35ee745f6 (diff)
downloadmeson-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.py15
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