aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies/misc.py
diff options
context:
space:
mode:
authorMichael Hirsch, Ph.D <scivision@users.noreply.github.com>2019-02-28 15:13:38 -0500
committerJussi Pakkanen <jpakkane@gmail.com>2019-02-28 22:13:38 +0200
commit71cffa67fa90c7905fa8333f9895461563e50435 (patch)
treebb9a0e5263d95f0a5fc95fb785d728e7a6ad32a1 /mesonbuild/dependencies/misc.py
parent939c00a9727e2ce47f320dd02aa3952c146406c7 (diff)
downloadmeson-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.py29
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):