diff options
| author | Michael Hirsch, Ph.D <scivision@users.noreply.github.com> | 2019-02-28 15:13:38 -0500 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-02-28 22:13:38 +0200 |
| commit | 71cffa67fa90c7905fa8333f9895461563e50435 (patch) | |
| tree | bb9a0e5263d95f0a5fc95fb785d728e7a6ad32a1 /mesonbuild/dependencies/misc.py | |
| parent | 939c00a9727e2ce47f320dd02aa3952c146406c7 (diff) | |
| download | meson-71cffa67fa90c7905fa8333f9895461563e50435.zip meson-71cffa67fa90c7905fa8333f9895461563e50435.tar.gz meson-71cffa67fa90c7905fa8333f9895461563e50435.tar.bz2 | |
add NetCDF
Diffstat (limited to 'mesonbuild/dependencies/misc.py')
| -rw-r--r-- | mesonbuild/dependencies/misc.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mesonbuild/dependencies/misc.py b/mesonbuild/dependencies/misc.py index db83422..df3a053 100644 --- a/mesonbuild/dependencies/misc.py +++ b/mesonbuild/dependencies/misc.py @@ -117,6 +117,35 @@ class HDF5Dependency(ExternalDependency): except Exception: pass +class NetCDFDependency(ExternalDependency): + + def __init__(self, environment, kwargs): + language = kwargs.get('language', 'c') + super().__init__('netcdf', environment, language, kwargs) + kwargs['required'] = False + kwargs['silent'] = True + self.is_found = False + + pkgconfig_files = ['netcdf'] + + if language not in ('c', 'cpp', 'fortran'): + raise DependencyException('Language {} is not supported with NetCDF.'.format(language)) + + if language == 'fortran': + pkgconfig_files.append('netcdf-fortran') + + self.compile_args = [] + self.link_args = [] + self.pcdep = [] + for pkg in pkgconfig_files: + pkgdep = PkgConfigDependency(pkg, environment, kwargs, language=self.language) + if pkgdep.found(): + self.compile_args.extend(pkgdep.get_compile_args()) + self.link_args.extend(pkgdep.get_link_args()) + self.version = pkgdep.get_version() + self.is_found = True + self.pcdep.append(pkgdep) + class MPIDependency(ExternalDependency): def __init__(self, environment, kwargs): |
