diff options
author | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2018-04-07 04:11:12 -0400 |
---|---|---|
committer | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2018-04-17 02:04:38 -0400 |
commit | 9c254cca657ec9556815d173767850df4ca37762 (patch) | |
tree | 36dbdc62e70eac67c2ffd673a172c2e06bd90d92 | |
parent | dbb025a175f31dfb1c8bb3a1e3bb7030e2625329 (diff) | |
download | meson-9c254cca657ec9556815d173767850df4ca37762.zip meson-9c254cca657ec9556815d173767850df4ca37762.tar.gz meson-9c254cca657ec9556815d173767850df4ca37762.tar.bz2 |
Determine OpenMP version from _OPENMP macro.
-rw-r--r-- | mesonbuild/dependencies/misc.py | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py index 30cb541..1587f51 100644 --- a/mesonbuild/dependencies/misc.py +++ b/mesonbuild/dependencies/misc.py @@ -238,17 +238,28 @@ class MPIDependency(ExternalDependency): class OpenMPDependency(ExternalDependency): + # Map date of specification release (which is the macro value) to a version. + VERSIONS = { + '201511': '4.5', + '201307': '4.0', + '201107': '3.1', + '200805': '3.0', + '200505': '2.5', + '200203': '2.0', + '199810': '1.0', + } + def __init__(self, environment, kwargs): - super().__init__('openmp', environment, None, {}) + language = kwargs.get('language') + super().__init__('openmp', environment, language, kwargs) self.is_found = True - mlog.log('Dependency', mlog.bold(self.name), 'found:', mlog.green('YES')) + openmp_date = self.compiler.get_define('_OPENMP', '', self.env, [], [self]) + self.version = self.VERSIONS[openmp_date] + mlog.log('Dependency', mlog.bold(self.name), 'found:', mlog.green('YES'), self.version) def need_openmp(self): return True - def get_version(self): - return 'unknown' - class ThreadDependency(ExternalDependency): def __init__(self, environment, kwargs): |