From 04eae7316f53bc3ee54ac7b57d4386f89bad3716 Mon Sep 17 00:00:00 2001 From: Freifrau von Bleifrei Date: Mon, 11 Sep 2023 10:18:00 +0200 Subject: DisCoTec: add new package (#35239) Co-authored-by: Alexander Van Craen <40516079+vancraar@users.noreply.github.com> Co-authored-by: Massimiliano Culpo --- .../repos/builtin/packages/discotec/package.py | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 var/spack/repos/builtin/packages/discotec/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/discotec/package.py b/var/spack/repos/builtin/packages/discotec/package.py new file mode 100644 index 0000000000..9961636d0f --- /dev/null +++ b/var/spack/repos/builtin/packages/discotec/package.py @@ -0,0 +1,50 @@ +# 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.package import * + + +class Discotec(CMakePackage): + """This project contains DisCoTec, a code for the distributed sparse + grid combination technique with MPI parallelization.""" + + homepage = "https://github.com/SGpp/DisCoTec" + url = "https://github.com/SGpp/DisCoTec" + git = "https://github.com/SGpp/DisCoTec" + + maintainers("freifrauvonbleifrei", "pfluegdk") + + version("main", branch="main") + + variant("ft", default=False, description="DisCoTec with algorithm-based fault tolerance") + variant("gene", default=False, description="Build for GENE (as task library)") + variant("hdf5", default=True, description="Interpolation output with HDF5") + variant("lto", default=True, description="Build with link-time optimization") + variant("openmp", default=True, description="Parallelize with OpenMP") + variant("timing", default=True, description="With high-res timers") + variant("selalib", default=False, description="Build selalib example") + variant("vtk", default=False, description="Build with VTK support") + + depends_on("boost +test +serialization +filesystem +system +program_options +date_time") + depends_on("cmake@3.24.2:", type="build") + depends_on("glpk") + depends_on("highfive+mpi+boost+ipo", when="+hdf5") + depends_on("mpi") + depends_on("vtk", when="+vtk") + + def cmake_args(self): + args = [ + self.define("DISCOTEC_BUILD_MISSING_DEPS", False), + self.define_from_variant("DISCOTEC_ENABLEFT", "ft"), + self.define_from_variant("DISCOTEC_GENE", "gene"), + self.define_from_variant("DISCOTEC_OPENMP", "openmp"), + self.define_from_variant("DISCOTEC_TIMING", "timing"), + self.define_from_variant("DISCOTEC_USE_HIGHFIVE", "hdf5"), + self.define_from_variant("DISCOTEC_USE_LTO", "lto"), + self.define_from_variant("DISCOTEC_USE_VTK", "vtk"), + self.define_from_variant("DISCOTEC_WITH_SELALIB", "selalib"), + ] + + return args -- cgit v1.2.3-70-g09d2