diff options
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/ftk/package.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/ftk/package.py b/var/spack/repos/builtin/packages/ftk/package.py new file mode 100644 index 0000000000..7bb1e01fa3 --- /dev/null +++ b/var/spack/repos/builtin/packages/ftk/package.py @@ -0,0 +1,62 @@ +# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Ftk(CMakePackage): + """FTK is a library that simplifies, scales, and delivers feature + tracking algorithms for scientific data.""" + + # Add a proper url for your package's homepage here. + homepage = "https://github.com/hguo/ftk" + url = "https://github.com/hguo/ftk/archive/0.0.5.tar.gz" + git = "https://github.com/hguo/ftk.git" + + # Add a list of GitHub accounts to + # notify when the package is updated. + maintainers = ['hguo'] + + version('master', branch='master') + version('dev', branch='dev') + version('0.0.5', sha256='9d5c84a73b7761b9fc7dac62d4296df9f3052b722ec1b06518b2b8f51a8d3440') + version('0.0.4', sha256='1674904da8d88dbd4c7d2b6a2629883f0444e70aefc99b48d285735d394897fa') + + # variants + variant("adios2", default=False) + variant("cuda", default=False) + variant("gmp", default=True) + variant("hdf5", default=False) + variant("mpi", default=False) + variant("netcdf", default=False) + variant("vtk", default=False) + + # optional dependencies + depends_on('adios2', when='+adios2') + depends_on('cuda', when='+cuda') + depends_on('hdf5', when='+hdf5') + depends_on('gmp', when='+gmp') + depends_on('mpi', when='+mpi') + depends_on('netcdf-c', when='+netcdf') + depends_on('vtk', when='+vtk') + + def add_cmake_option(self, args, dependency, option): + if dependency in self.spec: + args.append('-D' + option + '=ON') + else: + args.append('-D' + option + '=OFF') + + def cmake_args(self): + args = [] + + self.add_cmake_option(args, '+adios2', 'FTK_USE_ADIOS2') + self.add_cmake_option(args, '+cuda', 'FTK_USE_CUDA') + self.add_cmake_option(args, '+gmp', 'FTK_USE_GMP') + self.add_cmake_option(args, '+hdf5', 'FTK_USE_HDF5') + self.add_cmake_option(args, '+mpi', 'FTK_USE_MPI') + self.add_cmake_option(args, '+netcdf', 'FTK_USE_NETCDF') + self.add_cmake_option(args, '+vtk', 'FTK_USE_VTK') + + return args |