1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# Copyright 2013-2024 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)
# dlaf-no-license-check
from spack.package import *
class DlaFutureFortran(CMakePackage):
"""
Fortran interface to the DLA-Future library.
"""
homepage = "https://github.com/eth-cscs/DLA-Future-Fortran"
url = "https://github.com/eth-cscs/DLA-Future-Fortran/archive/v0.0.0.tar.gz"
git = "https://github.com/eth-cscs/DLA-Future-Fortran.git"
maintainers("RMeli", "rasolca", "aurianer")
license("BSD-3-Clause")
version("main", branch="main")
version("0.2.0", sha256="7fd3e1779c111b35f0d2701a024398b4f6e8dea4af523b6c8617d28c0b7ae61a")
version("0.1.0", sha256="9fd8a105cbb2f3e1daf8a49910f98fce68ca0b954773dba98a91464cf2e7c1da")
depends_on("c", type="build")
depends_on("cxx", type="build")
depends_on("fortran", type="build")
variant("shared", default=True, description="Build shared libraries.")
variant("test", default=False, description="Build tests.")
generator("ninja")
depends_on("cmake@3.22:", type="build")
depends_on("pkgconfig", type="build")
depends_on("dla-future@0.4.1:0.5 +scalapack", when="@0.1.0")
depends_on("dla-future@0.6.0: +scalapack", when="@0.2.0:")
depends_on("dla-future +shared", when="+shared")
depends_on("mpi", when="+test")
depends_on("py-fypp", when="+test", type="build")
def cmake_args(self):
args = []
args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared"))
if self.spec.satisfies("+test"):
args.append(self.define("DLAF_FORTRAN_BUILD_TESTING", True))
# Tests run with 6 MPI ranks
args.append(self.define("MPIEXEC_MAX_NUMPROCS", 6))
return args
@property
def libs(self):
return find_libraries(
"libDLAF_Fortran", root=self.home, shared=self.spec.satisfies("+shared")
)
|