63 lines
2.2 KiB
Python
63 lines
2.2 KiB
Python
# Copyright 2013-2022 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
|