summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/discotec/package.py
diff options
context:
space:
mode:
authorFreifrau von Bleifrei <freifrauvonbleifrei@users.noreply.github.com>2023-09-11 10:18:00 +0200
committerGitHub <noreply@github.com>2023-09-11 04:18:00 -0400
commit04eae7316f53bc3ee54ac7b57d4386f89bad3716 (patch)
tree5cf1d93f6bea9f9eff5a84fe69fae6927c45d259 /var/spack/repos/builtin/packages/discotec/package.py
parent67d6c086d8611d7ff474a2fda3ead2e6cbeb29be (diff)
downloadspack-04eae7316f53bc3ee54ac7b57d4386f89bad3716.tar.gz
spack-04eae7316f53bc3ee54ac7b57d4386f89bad3716.tar.bz2
spack-04eae7316f53bc3ee54ac7b57d4386f89bad3716.tar.xz
spack-04eae7316f53bc3ee54ac7b57d4386f89bad3716.zip
DisCoTec: add new package (#35239)
Co-authored-by: Alexander Van Craen <40516079+vancraar@users.noreply.github.com> Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Diffstat (limited to 'var/spack/repos/builtin/packages/discotec/package.py')
-rw-r--r--var/spack/repos/builtin/packages/discotec/package.py50
1 files changed, 50 insertions, 0 deletions
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