summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/grib-api/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/grib-api/package.py')
-rw-r--r--var/spack/repos/builtin/packages/grib-api/package.py39
1 files changed, 19 insertions, 20 deletions
diff --git a/var/spack/repos/builtin/packages/grib-api/package.py b/var/spack/repos/builtin/packages/grib-api/package.py
index 9597964c94..d3f971d737 100644
--- a/var/spack/repos/builtin/packages/grib-api/package.py
+++ b/var/spack/repos/builtin/packages/grib-api/package.py
@@ -25,7 +25,7 @@
from spack import *
-class GribApi(Package):
+class GribApi(CMakePackage):
"""The ECMWF GRIB API is an application program interface accessible from
C, FORTRAN and Python programs developed for encoding and decoding WMO
FM-92 GRIB edition 1 and edition 2 messages."""
@@ -40,42 +40,41 @@ class GribApi(Package):
variant('netcdf', default=False, description='Enable netcdf encoding/decoding using netcdf library')
variant('jpeg', default=True, description='Enable jpeg 2000 for grib 2 decoding/encoding')
variant('png', default=False, description='Enable png for decoding/encoding')
+ variant('build_type', default='RelWithDebInfo',
+ description='The build type to build',
+ values=('Debug', 'Release', 'RelWithDebInfo', 'Production'))
- depends_on('cmake', type='build')
depends_on('libpng', when='+png')
depends_on('netcdf', when='+netcdf')
depends_on('jasper', when='+jpeg')
+ depends_on('cmake@2.8.11:', type='build')
- def install(self, spec, prefix):
- options = []
- options.extend(std_cmake_args)
- options.append('-DBUILD_SHARED_LIBS=BOTH')
+ def cmake_args(self):
+ spec = self.spec
+ args = ['-DBUILD_SHARED_LIBS=BOTH']
# We will add python support later.
- options.append('-DENABLE_PYTHON=OFF')
+ args.append('-DENABLE_PYTHON=OFF')
# Disable FORTRAN interface if we don't have it.
if (self.compiler.f77 is None) or (self.compiler.fc is None):
- options.append('-DENABLE_FORTRAN=OFF')
+ args.append('-DENABLE_FORTRAN=OFF')
if '+netcdf' in spec:
- options.append('-DENABLE_NETCDF=ON')
- options.append('-DNETCDF_PATH=%s' % spec['netcdf'].prefix)
+ args.append('-DENABLE_NETCDF=ON')
+ args.append('-DNETCDF_PATH=%s' % spec['netcdf'].prefix)
else:
- options.append('-DENABLE_NETCDF=OFF')
+ args.append('-DENABLE_NETCDF=OFF')
if '+jpeg' in spec:
- options.append('-DENABLE_JPG=ON')
- options.append('-DJASPER_PATH=%s' % spec['jasper'].prefix)
+ args.append('-DENABLE_JPG=ON')
+ args.append('-DJASPER_PATH=%s' % spec['jasper'].prefix)
else:
- options.append('-DENABLE_JPG=OFF')
+ args.append('-DENABLE_JPG=OFF')
if '+png' in spec:
- options.append('-DENABLE_PNG=ON')
+ args.append('-DENABLE_PNG=ON')
else:
- options.append('-DENABLE_PNG=OFF')
+ args.append('-DENABLE_PNG=OFF')
- with working_dir('spack-build', create=True):
- cmake('..', *options)
- make()
- make('install')
+ return args